函數(shù)參數(shù)有傳值和傳址兩種,你只要把數(shù)組的首地址傳過去就可以了,函數(shù)參數(shù)是個指針,接收數(shù)組首地址,就可以在子函數(shù)中用指針調(diào)用數(shù)組中的數(shù)據(jù)。
成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計的關(guān)注點不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒有做好網(wǎng)站,給創(chuàng)新互聯(lián)一個展示的機(jī)會來證明自己,這并不會花費您太多時間,或許會給您帶來新的靈感和驚喜。面向用戶友好,注重用戶體驗,一切以用戶為中心。
對于矩陣,把它包裝成一個struct應(yīng)該更加方便些。傳參數(shù)時裝相應(yīng)struct的指針就可以獲得維數(shù)信息了,如要直接使用二維數(shù)組,傳int**,參數(shù)應(yīng)該提供給函數(shù)相應(yīng)的維數(shù)信息
你的
代碼
不全,我只能給你分析一下這種情況常見的錯誤了。
1、要返回
數(shù)組
定義
在子
函數(shù)
中。在函數(shù)體內(nèi)部定義的數(shù)據(jù)
變量
,如果未加修飾符(static和extern),那么她是局部的,函數(shù)執(zhí)行完畢之后
內(nèi)存
釋放,造成你訪問
錯誤
。你
下邊
的那個例子定義的數(shù)組是
全局變量
,先不說了下班了晚上補(bǔ)充
如果定義數(shù)組是int a[4];的話,那么數(shù)組a的內(nèi)存就會被系統(tǒng)釋放,不能返回
如果定義數(shù)組是static int a[4];的話,那么數(shù)組a的內(nèi)存可以返回到主函數(shù)里,也就是內(nèi)存?zhèn)鬟f
可以直接傳入數(shù)組名
main(){
int?a[5]?=?.....;
func1(a);
func2(a);
}
void?func1(int?a[5]){
}
void?func2(int?*a){
}