你的代碼不全,我只能給你分析一下這種情況常見(jiàn)的錯(cuò)誤了。
成都創(chuàng)新互聯(lián)主營(yíng)冠縣網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app開(kāi)發(fā)定制,冠縣h5微信小程序定制開(kāi)發(fā)搭建,冠縣網(wǎng)站營(yíng)銷推廣歡迎冠縣等地區(qū)企業(yè)咨詢
1、要返回?cái)?shù)組定義在子函數(shù)中。在函數(shù)體內(nèi)部定義的數(shù)據(jù)變量,如果未加修飾符(static和extern),那么她是局部的,函數(shù)執(zhí)行完畢之后內(nèi)存釋放,造成你訪問(wèn)錯(cuò)誤。你下邊的那個(gè)例子定義的數(shù)組是全局變量,先不說(shuō)了下班了晚上補(bǔ)充
可以直接傳入數(shù)組名
main(){
int?a[5]?=?.....;
func1(a);
func2(a);
}
void?func1(int?a[5]){
}
void?func2(int?*a){
}
對(duì)于矩陣,把它包裝成一個(gè)struct應(yīng)該更加方便些。傳參數(shù)時(shí)裝相應(yīng)struct的指針就可以獲得維數(shù)信息了,如要直接使用二維數(shù)組,傳int**,參數(shù)應(yīng)該提供給函數(shù)相應(yīng)的維數(shù)信息
函數(shù)參數(shù)有傳值和傳址兩種,你只要把數(shù)組的首地址傳過(guò)去就可以了,函數(shù)參數(shù)是個(gè)指針,接收數(shù)組首地址,就可以在子函數(shù)中用指針調(diào)用數(shù)組中的數(shù)據(jù)。