void f(int a[100])//等价于void f(int *a){ int b[100];printf("sizeof(a)=%d\n", size...
1. 当数组作为参数传递时,它会被退化为指针,因此sizeof(arr)将返回系统指针的大小。2. 在C/C++中,一个汉字通常占两个字节(在Linux下为三个字节)。3. 当计算struct或class的大小时,除了需要考虑基本数据类型的大小,还要特别注意字节对齐问题。对于C++而言,还需考虑虚函数的虚表问题,需要加上虚表指针的大小。
或者给函数加一个形参,把数组长度n一起带进去,这也是C处理属于问题的普遍方法。最好是用malloc配free...