提供2個(gè)辦法供參考:
蕭縣網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,蕭縣網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為蕭縣千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的蕭縣做網(wǎng)站的公司定做!
把自定義函數(shù)中的數(shù)組創(chuàng)建為static存儲(chǔ)性質(zhì),并把首地址及大小返回給主函數(shù)。
在自定義函數(shù)中創(chuàng)建數(shù)組時(shí)用動(dòng)態(tài)方法建立的堆上,把首地址及大小返回給主函數(shù),在主函數(shù)中使用完畢后釋放。
二維數(shù)組無(wú)法作為參數(shù)直接傳遞給函數(shù),但是可以利用二維數(shù)組內(nèi)部數(shù)據(jù)的連續(xù)性,將二維數(shù)組的地址按照一維數(shù)組的方式傳遞給函數(shù),并傳入對(duì)應(yīng)的行列數(shù),從而實(shí)現(xiàn)函數(shù)內(nèi)打印二維數(shù)組的效果。
以整型為例,具體方式如下:
void?print_array(int?*a,?int?m,?int?n)//a為一個(gè)m行,n列的二維數(shù)組的首地址。
{
int?i,?j;
for(i?=?0;?i??m;?i?++)
{
for(j?=?0;?j??n;?j?++)
{
printf("%d,",?a[i*n+j]);//a[i*n+j]也就是原始二維數(shù)組第i行第j列的元素。
}
printf("\n");//每行結(jié)束輸出換行。
}
}
方法
有2
將該數(shù)組定義為全局變量,即:
int
g_arr;
void
fun()
{...}
void
main()
{...}
2.將該數(shù)組作為函數(shù)參數(shù)傳遞到自定義函數(shù)里,即:
void
fun(int
arr[])
{...}
void
main()
{
int
arr[10];
fun(arr);
}