當前位置:首頁 » 編程語言 » c語言函數二維數組

c語言函數二維數組

發布時間: 2025-09-07 00:34:18

c語言函數中怎麼返回一個二維數組

1、我們首先定義一個二級指針和一個行列變數[int ** array,row,column;]。

② c語言中怎麼用二維數組作為函數參數

二維數組作為函數參數,實參可以直接使用二維數組名,在被調用函數中對形參數組定義可以指定所有維數的大小,也可以省略第一維的大小說明,如:

因為從實參傳遞來的是數組的起始地址,如果在形參中不說明列數,編譯器將無法定位元素的的位置。

③ C語言,如何在子函數中寫一個3*3二維數組,給主函數調用!!

在子函數申請二維數組,主函數使用,可以用動態申請。

方法不止一種,我這里用指針的指針實現二維數組。

二維數組除了行列,本身地址也是連續的,從第一行第一列的元素地址++,可以取出所有元素。所以我這里先申請了完整的連續地址。

#include<stdio.h>
#include<malloc.h>
int**sr(void)
{
inti,j;
int*memory=(int*)malloc(sizeof(int)*9);//申請完整的連續內存地址3*3
int**arr=(int**)malloc(sizeof(int*)*3);//申請二維數組行指針數組(也就是二維數組)
if(!memory||!arr){
printf("內存申請錯誤! ");returnNULL;}
for(i=0,j=0;i<9;i+=3)//將連續地址按列數,取出每行首地址,賦值給二維數組元素
arr[j++]=&memory[i];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&arr[i][j]);
returnarr;
}
intmain(void)
{
inti,j,**arr=sr();
if(!arr)
return1;
printf("---主函數調用子函數定義的二維數組--- ");
for(i=0;i<3;i++,printf(" "))
for(j=0;j<3;j++)
printf("%d",arr[i][j]);
printf(" ---實現二維數組地址連續性--- ");
int*p=&arr[0][0];
while(p<=&arr[2][2])
printf("%d",*p++);
return0;
}

④ 求C語言編程:調用函數計算二維數組所有元素的平均值

兩個for循環

記錄二維數組的總值

count+=array[i][j]

key記錄數組元素個數

key++;

最後

return

count/key

或:

double avg(int x[10][10])

{

int i,j,sum;

for(i=0;i<10;i++)

{

for(j=0;i<10;j++)

sum+=x[i][j];

}

return sum/((i+1)*(j+1));

}

(4)c語言函數二維數組擴展閱讀:

函數作為另一個函數調用的實際參數出現。這種情況是把該函數的返回值作為實參進行傳送,因此要求該函數必須是有返回值的。例如: printf("%d",max(x,y)); 即是把max調用的返回值又作為printf函數的實參來使用的。在函數調用中還應該注意的一個問題是求值順序的問題。

⑤ C語言中如何將二維數組作為函數的參數傳遞

在C語言中可以用二維數組作為實參或者形參。


1、函數中用二維數組作為形參,函數聲明中可以指定所有維數的大小,也可以省略第1維的維數如:

voidf(intarray[3][10]);//正確
voidf(intarray[][10]);//正確

上面的兩種二維數組形參表示都是正確的。


2、函數中用二維數組作為形參,不能把第2維或者更高維的大小省略,如下面的定義是不合法的:

voidf(intarray[][]);//錯誤

因為從實參傳遞來的是數組的起始地址,在內存中按數組排列規則存放(按行存放),而並不區分行和列,如果在形參中不說明列數,則系統無法決定應為多少行多少列,不能只指定一維而不指定第二維,下面寫法是錯誤的:

voidf(intarray[3][]);//錯誤

3、二維數組作為實參傳遞時,必須保證實參第2維的維數與形參第2維的維數相同,因為必須要保證形參和實參的數據類型一致。比如定義如下函數:

voidf(intarray[][10]);

可以將如下數組傳遞給函數f。

inta[2][10]={1,2,3,4};
intb[4][10]={1};
熱點內容
android圖片載入 發布:2025-09-07 06:10:48 瀏覽:492
mtp存儲器 發布:2025-09-07 05:58:00 瀏覽:948
php繼承類構造函數 發布:2025-09-07 05:57:07 瀏覽:703
指示資料庫 發布:2025-09-07 05:55:45 瀏覽:628
如何恢復伺服器系統 發布:2025-09-07 05:41:50 瀏覽:877
多個伺服器如何集中管理 發布:2025-09-07 05:37:00 瀏覽:416
python讀取文件行 發布:2025-09-07 05:34:14 瀏覽:662
mac版本ftp 發布:2025-09-07 05:27:09 瀏覽:531
條件編譯是不是預處理環節 發布:2025-09-07 05:21:21 瀏覽:639
java對集合的面試題 發布:2025-09-07 05:20:41 瀏覽:866