sizeof用于计算数据类型大小
一般的数据类型随机器不同,字节大小也不同
计算int char之类的类型
计算int *, char *之类的类型
计算指针类型的字节大小,我这里都是4字节(包括结构体类型指针变量)
计算结构体变量大小
参考:https://www.cnblogs.com/wlzy/p/5897933.html
#includetypedef struct{ char a; int b;} Test;typedef struct{ double c; Test d;} Test2;int main(int argc, char const *argv[]){ printf("char = %d\n", sizeof(char)); printf("char * = %d\n\n", sizeof(char *)); printf("short = %d\n", sizeof(short)); printf("short * = %d\n\n", sizeof(short *)); printf("int = %d\n", sizeof(int)); printf("int * = %d\n\n", sizeof(int *)); printf("float = %d\n", sizeof(float)); printf("float * = %d\n\n", sizeof(float *)); printf("double = %d\n", sizeof(double)); printf("double * = %d\n\n", sizeof(double *)); printf("struct = %d\n", sizeof(Test)); printf("struct * = %d\n\n", sizeof(Test *)); printf("struct2 = %d\n", sizeof(Test2)); printf("struct2 * = %d\n\n", sizeof(Test2 *)); char a[5]="12", b[]="1234"; printf("a = %d\n", sizeof(a)); printf("a[0] = %d\n\n", sizeof(a[0])); printf("b = %d\n", sizeof(b)); printf("b[0] = %d\n\n", sizeof(b[0])); char *c[2]; printf("c = %d\n", sizeof(c)); printf("c[0] = %d\n\n", sizeof(c[0])); char d[2][3]; printf("d = %d\n", sizeof(d)); printf("d[0] = %d\n", sizeof(d[0])); return 0;}