2014-10-06 485 views
-1

我有一個全局結構的結構。我正在使用函數來更改結構的數據。一般來說,我很容易操作結構(例如將其發送給函數)。 我的問題是,現在我有一個函數來改變結構的數據,但它也必須調用另一個函數。這是我的問題。將函數結構的指針傳遞給另一個函數

一般來說,我的結構是:「名稱」。 我有一個指針:name_ptr->名稱[I] ... 在功能的情況下,我通過這樣的: find_max = calc_max(i, &name_ptr); ,並宣佈此功能ID爲: int find_max(int x, vectname **pr) 所以裏面的功能,我的工作像這樣: (*pr)->name[i]... 如果我進入函數,並且我想將這個指針發送給另一個函數,我該如何調用它?

+0

簡單調用'nextFunction(PR)'。定義應該是'nextFunction(vectname ** arg){}' – Sinstein 2014-10-06 14:07:04

+2

「結構的結構」是值得展示的東西。儘量記住你可以看到*所有*你現有的代碼;我們可以精確地看到*無*。將它剝離到您選擇正確語法時出現問題的特定點,然後*發佈*。至少需要一個鎬頭夜視鏡,以及一個導航這個問題的指南針。 – WhozCraig 2014-10-06 14:08:38

回答

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); 
    ... 
}