方法很简单,直接上手
求变量占几个字节:
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);
}
}
运行结果: