当数组作为函数的参数进行传递时,作为实参的数组将会自动退化为同类型的指针,示例分析:
int getSize(int data[ ]) {
return sizeof(data);
}
int main(int argc, _TCHAR * argv[ ]) {
int data[ ] = {1, 2, 3, 4, 5};
int len1 = sizeof(data);
int len2 = getSize(data);
printf("len1 = %d , len2 = %d\n", len1, len2);
return 0;
}
会得到结果: len1 = 20, len2 = 4;
len1是整个数组的长度,len2是整形指针的长度