二維陣列作為函式引數的幾種方法

2021-09-06 16:38:40 字數 915 閱讀 1504

給定程式中,函式fun的功能是:有n×n矩陣,以主對角線為對稱線,對稱元素相加並將結果存放在左下三角元素中,右上三角元素置為0。

**例如,若n=5,有下列矩陣: 1 2 3 4 5 計算結果為:1 0 0 0 0*/

#include #define n 5

void fun1(int

a[n][n])}}

}void fun2(int **a,int m,int

n) }}

}void fun3(int *a,int m,int

n)//陣列按行儲存,可以看做一位陣列,訪問位置要自己控制}}

}int

main()

,,,,};

//fun1(b);

//fun2((int **)b,5,5);

fun3(*b,5,5

);

for (int i=0;i<5;i++)

printf("\n

");}

return0;

}

//陣列按行儲存

如果二維陣列知道一維長度,只有乙個維數長度為變數,可以用陣列指標。

陣列名的指標,即陣列首元素位址的指標。即是指向陣列的指標。

例:int (*p)[10]; p即為指向陣列的指標,又稱陣列指標。

int a[4][5];int (*p)[5]=a;

void fun4(int (*a)[5],int

m) }

}}

int (*p1)[5];

int **p2;

我覺得上面兩個相似。只有一些小小的不同..

p1指向一維陣列的指標

p2是乙個指向指標的指標,沒有自己的記憶體區域。可以隨意指向任意一塊記憶體區域.

二維陣列 作為函式引數

前言 今天在實現裝配線排程程式時候,用到了二維陣列,並將其作為函式的引數。在寫程式的時候,遇到一些問題,即二維陣列做函式的引數應該如何正確表示。我寫程式的錯誤如下程式所示 1 include 2 void print int a 3 3 67intmain 8 10print a 11return0...

linux C 二維陣列 作為函式引數

c語言中怎麼用二維陣列作為函式引數 可以用二維陣列名作為實參或者形參,在被呼叫函式中對形引數組定義時可以指定所有維數的大小,也可以省略第一維的大 明,如 void func int array 3 10 void func int array 10 二者都是合法而且等價,但是不能把第二維或者更高維的...

C C 一維二維陣列作為函式引數

1.一維陣列傳參 呼叫函式時只傳陣列名 func a void func int a 10 void func int a 2.二維陣列傳參 呼叫函式時只傳陣列名 func a 注意 二維陣列作為引數傳遞給函式,必須指明陣列的列數 void func int a 3 10 void func int...