前提:Linux下的32位C程序
一般情况下,定义一个数组,如:char W[16];
使用sizeof()获取W数组大小:sizof(W) 的值为16。
若定义一个函数,其形参为一个数组,如:
char W[16];
void function(char W[16])
{
int len1;
…
len1 = sizeof(W);
printf("%d\n",len1);
}
将W[16]作实参传给funciton,运行function(W)
输出为:len1=4
可见,数组作实参传入函数时,是作为指针传入,使用sizeof()获取其大小为4,而非数组本身的大小,编程时需注意