sizeof :
我的理解就是一个表达式或者数组或者一个数据类型所分配的空间大小;
数据类型:sizeof(int a);输出为4;sizeof(char b);输出为1;
之前遇到过sizeof(int ,char)然而不知道输出什么,最后运行了一系列的sizeof,代码:
#include <stdio.h>
void main()
{
int a,h,i,g,x,k,f,s,n;
char c;
char b[5];
h=sizeof(a);//输出为4;
g=sizeof(a,c);//输出为1;
i=sizeof(a,c,b);//输出为4;
k=sizeof(c);//输出为1;
f=sizeof(c,b);//输出为4;
n=sizeof(b);//输出为5;
s=sizeof(a,b);//输出为4;
printf("%d,%d,%d,%d,%d,%d,%d\n",h,g,i,k,f,n,s);
说明一个问题sizeof只执行后面的一个类型,且char 字符高于int 字符 ,int字符高于数组,且char 为1,int 为4,int数组则为数组元素个数乘以4,char数组为数组元素乘以1;