1樓:問明
方法1、 第一維的長度可以不指定;但必須指定第二維的長度。
#include
void print_a(int a[5], int n, int m)
int i, j;
for(i = 0; i < n; i++)for(j = 0; j < m; j++)printf("%d ", a[i][j]);
printf("\n");
方法2、指向乙個有5個元素一維陣列的指標。
void print_b(int (*a)[5], int n, int m)
int i, j;
for(i = 0; i < n; i++)for(j = 0; j < m; j++)printf("%d ", a[i][j]);
printf("\n");
方法3、利用陣列是順序儲存的特性。
void print_c(int *a, int n, int m)int i, j;
for(i = 0; i < n; i++)for(j = 0; j < m; j++)printf("%d ", *(a + i*m + j));
printf("\n");
int main(void)
int a[5][5] = , , , , };
printf("\n方法1:\n");
print_a(a, 5, 5);
printf("\n方法2:\n");
print_b(a, 5, 5);
printf("\n方法3:\n");
print_c(&a[0][0], 5, 5);
getch();
return 0;
2樓:楊柳風
可以傳遞二維陣列作為引數,有兩種方法,
方法一change(int **a)直接傳遞乙個指標進去方法二change(int a[10])陣列的第二維維度一定要顯式指定
假如主函式有乙個二維陣列int a[10][18];
寫乙個函式要傳遞二維陣列,函式原型應該是這個樣子void f(int (*)a[18]);
或者 void f(int a[18]) 必須確定第二維長度是多少
c語言中如何將二維陣列作為函式的引數傳遞
鄞臨婁溶溶 在c語言中可以用二維陣列作為實參或者形參。1 函式中用二維陣列作為形參,函式宣告中可以指定所有維數的大小,也可以省略第1維的維數如 void f int array 3 10 正確 void f int array 10 正確上面的兩種二維陣列形參表示都是正確的。2 函式中用二維陣列作為...
c語言關於定義二維陣列的問題,C語言中二維陣列的定義問題
焮欣 首先你要理解二維陣列的真正含義,它的第一維就是一組資料的起始位址,第二維就是某組資料中的某個值.其次,你要知道a 4 所表達的意思,是指二維陣列a的每一維都是由4個元素組成的一維陣列.而編譯器可以根據你賦給a的初值個數計算它的第一維長度 元素總個數 4,如果不能整除,則長度加1,此時還應該有幾...
求助 C語言二維陣列指標問題,c語言二維陣列用指標表示的問題
1.對於int p a p型別和a是不同的。p是指向乙個指標 指向int型別的量 的指標,a則是指向乙個一維陣列 含2個int元素 的指標。想要建立相同型別的指標應該用int p 2 才行 3.感覺p跟a就同級吧但型別不同 所以其實int p a 兩側的指標的型別是不相同的,只是a的值賦給p而已 假...