2014-10-06 2 views
-1

전역 구조체 구조를 가지고 있습니다. 구조의 데이터를 변경하는 함수를 사용하고 있습니다. 일반적으로 구조를 쉽게 조작합니다 (예 : 함수로 전송). 내 문제는 이제 구조체의 데이터를 변경하는 함수가 있지만 다른 함수를 호출해야한다는 것입니다. 그리고 이것이 내 문제입니다.구조체의 포인터를 함수에서 다른 함수로 전달

일반적으로 내 구조는 : "이름"입니다. 내가 포인터를 가지고 : find_max = calc_max(i, &name_ptr); 을하고이 함수 ID는 선언 : name_ptr-> 이름 [I] ... 함수의 경우에는 내가 이런 식으로 전달하고 int find_max(int x, vectname **pr) 그래서 함수 내에서 내가하고 있어요 이런 식으로 : (*pr)->name[i]... 내가 함수에 들어가고 다른 함수에이 포인터를 보내고 싶다면 어떻게 호출해야합니까?

+0

간단한 전화'nextFunction (홍보)'. 정의는'nextFunction (vectname ** arg) {}'이어야합니다. – Sinstein

+2

"구조체 구조"는 보여주는 가치가있는 것입니다. 시도하고 * 모든 기존 코드를 볼 수 있음을 기억하십시오. 우리는 그것의 정확한 * none *을 볼 수 있습니다. 올바른 구문을 선택하고 * post it *하는 데 문제가있는 특정 지점으로 잘라냅니다. 있는 그대로 - 픽 - 도끼 밤 고글, 그리고이 질문을 탐색하는 나침반이 필요합니다. – 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); 
    ... 
} 
관련 문제