我寫了一個函數size
,它將整型數組作爲參數。爲什麼長度函數返回2?
int length(int a[])
{
return sizeof(a)/sizeof(int);
}
int main()
{
int a[] = {1,3,5,6,9,4,2,1,0,0};
int len = sizeof(a)/sizeof(int);
cout << len; // This correctly prints 10 .
len = size(a);
cout << len; // But this print 2 .why ??
return 0;
}
有人能解釋我這種行爲嗎? 謝謝。
'INT長度(INT一個[])'是相同的'INT長度(INT * A)'。不要使用這種符號,因爲你可以看到,它是誤導性的。 –
這將* *解釋:http://stackoverflow.com/questions/4810664/how-do-i-use-arrays-in-c – chris
16位指針??? – 0x499602D2