sizeof()是运算符,而不是一个函数,在编译时就计算好了,用于计算数据空间的字节数。 因此, sizeof不能用来返回动态分配的内存空间的大小。 sizeof常用于返回类型和静态分配的对象、结构或数组所占的空间,返回值跟对象、结构、数组所存储的内容没有关系。 当参数分别如下时, sizeof返回的值表示的含义如下所述。
1 )数组一一编译时分配的数组空间大小,如:
因为 char 占1Byte,所以 sizeof(a)的值是 10*1=10Byte。
所以计算数组长度可以这样 sizeof(a) / sizeof(*a) *a就是a[0],是一个int型值