可能重複:
Sizeof an array in the C programming language?
Why does a C-Array have a wrong sizeof() value when it's passed to a function?如何獲取C中數組的長度? 「sizeof」是一種解決方案嗎?
請參見下面的代碼,並建議我那是什麼的 「的sizeof」 關鍵字的區別,當我用這樣的:
#include<stdio.h>
#include<conio.h>
void show(int ar[]);
void main()
{
int arr[]={1,2,3,4,5};
clrscr();
printf("Length: %d\n",sizeof(arr));
printf("Length: %d\n",sizeof(arr)/sizeof(int));
show(arr);
getch();
}
void show(int ar[])
{
printf("Length: %d", sizeof(ar));
printf("Length: %d", sizeof(ar)/sizeof(int));
}
但輸出是這樣的:
輸出是:
長度:10
長度:5
長度:2
長度:1
爲什麼我變得這樣;如果我想從一個陣列到另一個陣列的整個數據,我該怎麼辦?
建議我如果有人知道。
無法獲取C中數組的大小而沒有更多信息。 – m0skit0 2012-02-23 12:31:35
@Oli Charlesworth:我在谷歌搜索,但我沒有得到你提供的鏈接;感謝您的提供; – alishaik786 2012-02-23 12:41:30
您無法獲取數組參數的大小。 – 2014-09-07 13:50:04