关键字--sizeof

来源:互联网 发布:unity3d教程视频哪个好 编辑:程序博客网 时间:2024/05/17 07:56

sizeof 

C语言内置的关键字

用法:

sizeof(类型)

sizeof(变量)     sizeof  变量

从用法来看,sizeof不是函数,是关键字


4字节对齐

struct A{

char a;

int b;

};

sizeof(struct A);    8

struct B{

char a;

union u_a{

int i_a;

        int array[2];

}b;

}

sizeof(struct B);  union所占空间为8,4字节对齐, 结果 为12


数组

int a[]={1,2,3,4}

sizeof(a)   sizeof(int)*length  数组的元素类型*数组长度  16

sizeof(*a)   *a代表数组的首元素,4


int b[2][3]

sizeof(b)   类似  2*3*4=24

sizeof(*b)  一维数组大小(二维数组可以看多多个一维数组构成) 3*4=12

sizeof(**b) 数组一个元素的大小  4


函数

char f()

{

return 0;

}

sizeof(f())  函数返回值类型的大小  1



sizeof在代码编译期间被具体数值替换了,不对运行期间产生影响

int var=1;

printf("%d ",sizeof(var++));

printf("%d\n",var);

运行结果:4 1  ,var++没有运行

同样,sizeof(f())  f()也不会运行


0 0
原创粉丝点击