2017/06/26
#include<stdio.h>
int main(){
int a[] = {0,1,3,5};
char *b[] = {
"slsjlf",
"slfj;sf",
"slkfjsdkfs",
"sss",
};
printf("yy:%d xx:%d\n",sizeof(a),sizeof(a) / sizeof(a[0]));
printf("zz:%d\n",sizeof(b) / sizeof(b[0]));
}
这个程序在gcc 4.9.3上跑的,没有问题。
我也是比较疑惑,为什么可以用sizeof计算。
拿a[]来说,a代表的是一个地址,还是说,编译器做了哪些处理。
先就这样记着把。