數組形參

#include<stdio.h>
int getArrSize(int array[])
{
return sizeof(array)/sizeof(int);   // 數組退化爲指針
}
int main()
{
int arr[10];
int *p;
p=arr;
int sizeArr = sizeof(arr)/sizeof(int);      // 計算數組元素個數
int sizePointer = sizeof(p)/sizeof(int*);
int sizeDegeArray = getArrSize(arr);
printf("Normal Array size:%d\n",sizeArr);
printf("Pointer size:%d\n",sizePointer);
printf("Degeneration Array size:%d\n",sizeDegeArray);
return 0;
}

 

Output : 

Normal Array size:10

Pointer size:1

Degeneration Array size:1

數組作爲參數傳遞,將退化爲指針,同時,不要混淆 數組名 和指針的概念。因爲 sizeArr != sizePointer 。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章