2014-10-06 3 views
-1

У меня есть структура структур, которая является глобальной. Я использую функции для изменения данных структуры. В целом я легко манипулирую структурой (например, отправлю ее функции). Моя проблема в том, что теперь у меня есть функция, которая изменяет данные структуры, но также вызывает другую функцию. И это моя проблема.Передача указателя структуры от функции к другой функции

В целом моя структура: «имя». У меня есть указатель: name_ptr-> имя [я] .... В случае функции Я передаю это так: find_max = calc_max(i, &name_ptr); и эта функция объявлена ​​как идентификатор: int find_max(int x, vectname **pr) Так внутри функции я работаю вот так: (*pr)->name[i]... Если я вхожу в функцию, и я хочу отправить этот указатель на другую функцию, как я могу ее назвать?

+0

Простой вызов 'nextFunction (PR)'. Определение должно быть 'nextFunction (vectname ** arg) {}' – Sinstein

+2

«Структура структур» - это что-то стоящее. Попробуйте и помните, что вы можете видеть * все * свой существующий код; мы можем точно видеть * ни одного. Разделите его до определенного момента, когда у вас возникла проблема с выбором правильного синтаксиса и * отправкой его *. Как-то нужны ночные защитные очки с прицелом и компас для навигации по этому вопросу. – WhozCraig

ответ

0

В простых словах у вас есть массив структур и вашей первой функции вы получите указатель на массив.

Так как вы можете использовать:

int find_max(int x, vectname **pr) 
{ 

    // method - 1 (if your second function is intreseted only in changing the nth structure instance of the array) 
    SecondFunc(&pr[n]); 

    // method - 2 (if your second function is intreseted in changing the any structure instance of the array) 
    SecondFunc(pr); 

} 
0

Ваш вопрос довольно загадочным, но я дам ему выстрелили:

int find_max(int x, vectname **pr) 
{ 
    ... 
    another_function(x, pr); 
    ... 
} 
Смежные вопросы