数组的大小即为字节数?

来源:百度知道 编辑:UC知道 时间:2024/06/05 21:18:13
如a[10],即带表字节数为10?

不是这样的,还要看这个数组的类型是什么。要用 10 * 数组类型的字节数。
例如:int a[10]; 代表的字节数为 40
char a[10]; 是代表 10 个字节数
可以用函数求出来
printf("%d",sizeof(a));
你可以自己试一试。

不是。
通常数组的大小(长度)指的是数组中元素的个数,而不是它所占空间的大小。
如果数组的基类型T满足sizeof(T)的值为1,那么数组的大小和它所占空间的大小一致,否则两者的值不相等。
例如
设声明为T a[10];
T是int时
sizeof(a)等于10*sizeof(int),但不等于10(如果是32位系统,前者等于40,因为int占用空间等于机器字长,这里sizeof(a)等于4);
T是char时
sizeof(a)、10*sizeof(char)相等,都等于10,因为sizeof(char)等于1。
sizeof运算符返回一个量或类型占用的空间大小(字节数),返回值是整数,建议LZ可以通过
printf("%d\n",sizeof(a));
这样的方式实际测试一下。

不是。通常数组的大小(长度)指的是数组中元素的个数,而不是它所占空间的大小。
如果数组的基类型T满足sizeof(T)的值为1,那么数组的大小和它所占空间的大小一致,否则两者的值不相等。
例如
设声明为T a[10];
T是int时
sizeof(a)等于10*sizeof(int),但不等于10(如果是32位系统,前者等于40,因为int占用空间等于机器字长,这里sizeof(a)等于4);
T是char时
sizeof(a)、10*sizeof(char)相等,都等于10,因为sizeof(char)等于1。
sizeof运算符返回一个量或类型占用的空间大小(字节数),返回值是整数,建议LZ可以通过
printf("%d\n",s