1樓:成熟oo蘋果
好久沒接觸過c了,有些忘了,講講我的理解。
int * a[10] 表示a是乙個指向 int * 指標的陣列,它和a[10][10]是一樣的,
而和int **a中的a性質是一樣的,都是指向int*的指標,但有點區別:
int * a[10] 中 a++ 位址向前移動10位而int **a 中的a++位址移動一位。所以我的結論是::
void func(int *a[10])和void func(int a[10][10])是一樣的,和void func(int **a)有區別。
具體可參考 c++primer 講得很清楚。
2樓:匿名使用者
它是指標的前提下:
*a[10] = 陣列 index 第10位置裡的值。
a[10] = 陣列 index 第10位置的記憶體位址。
**a = 傳遞什麼它就是什麼值。如果傳遞乙個陣列,那麼就是陣列第乙個位置。也可以傳遞陣列裡特定的值。
a[10][10] = 就是 10 x 10 陣列。
int *[10] = 錯誤用法,傳遞時必須有名字。int (*p)[10]:二元陣列指標的用法,只能這麼用。
草率採納了回答,讓我汗~
3樓:匿名使用者
沒什麼區別實質是一樣的,void func(int *a[10])和void func(int **a)//前者是陣列指標,後者是二級指標
void func(int a[10][10])和void func(int *[10])//前者是二維陣列,後者是指向乙個包含10個元素的int型陣列的指標
他們寫法不一樣但實質是一樣的
51微控制器c語言中斷函式不能進行引數傳遞,是什麼意思,誰能解釋一下
是指中斷處理函式不能有輸入引數也不能有函式返回。因為中斷都是些硬體自動呼叫,沒有程式去給他傳遞引數,也沒有硬體去接收引數。不過x86計算機的軟中斷可以有引數傳遞,不過他是用暫存器傳遞的。1 51微控制器c51語言中斷函式本身不帶引數傳遞,但你可以使用全域性變數進行引數傳遞。2 所謂中斷函式不能進行引...
C怎麼把字元陣列當作函式引數傳遞
以指標方式或數bai組的方式都可以實du現引數傳遞zhi的,實際上都是將dao陣列的首位址傳遞專到子函式中去的。屬例如 include include void fun1 char pstr void fun2 char arr int main c 不能傳陣列,傳bai的是第乙個du陣列zhi元素...
c語言帶引數函式的原型宣告,c語言中函式原型宣告部分是什麼意思
void show n char char,int 如果是在c 是合法的,char,int 是友元,表示只有引數型別無引數變數名,但在c 語言中這樣寫不規範,要寫成 void show n char char ch,int a 此處為形參,實際使用中要用實際引數傳入。如 呼叫該函式時,傳入實參 sh...