方法很简单,直接上手
求变量占几个字节:
sizeof(a);
求数组长度,用所占的字节除以数据类型即可,
sizeof (数组名) / sizeof (数据类型)即可。
int main() {
int a[]={1,2,3,4,5,6,7,8};
//int类型数组a的总空间除以int类型的变量所占的空间就是数组的元素个数(长度)
int len=sizeof(a)/sizeof(int);
printf("length = %d\n",len);
return 0;
}
求结构体长度:
结构体部分赋值
#include <stdio.h>
typedef struct student {
int sno;
char name[20];
} stu;
int main() {
stu stua[5] = {1001,"jack",1002,"Amy"};
printf("占用字节 = %d\n", sizeof(stua)); //结果是120,char占一个字节,int 4个字节
// 5*(1*20+4)
int len = sizeof(stua) / (sizeof(int)+(sizeof(char)));
printf("长度 = %d\n", len);
//输出
for (int i = 0; i < 5; ++i)
{
printf("sno=%d name=%s\n", stua[i].sno, stua[i].name);
}
}
运行结果:

本文介绍了在C语言中如何使用`sizeof`运算符来求解变量、数组和结构体的长度。通过示例代码展示了如何计算数组的元素个数,以及结构体的总占用字节数。对于结构体,文章还演示了如何在结构体数组中进行部分赋值,并输出结构体数组的长度和内容。
1620

被折叠的 条评论
为什么被折叠?



