C语言的sizeof关键字

2016-12-09 09:57:37来源:作者:BeginMan's Blog人点击

此篇为《C语言点滴》关于sizeof的总结

sizeof是C 语言的一个 关键字, 不是一个函数。但是它的行为类似于一个函数,因为它返回一个类型为 size_t的无符号的整型数。我们通常用sizeof来计算变量所占内存的真实尺寸。

sizeof(指针)和sizeof(数组)的区别

#include <stdio.h>int main(){int a[] = {0, 1, 2, 3, 4, 5};char c[] = {'a', 'b'};int* ip = a;char* cp = c;printf("sizeof(ip)=%lu/n", sizeof(ip));printf("sizeof(cp)=%lu/n", sizeof(cp));printf("sizeof(a)=%lu/n", sizeof(a));printf("sizeof(c)=%lu/n", sizeof(c));// “根据数组名a 来计算数组到底有多少个元素”printf("sizeof(a/a[0])=%lu/n", sizeof(a) / sizeof(a[0]));}

打印出来的结果:

sizeof(ip)=8sizeof(cp)=8sizeof(a)=24sizeof(c)=2sizeof(a/a[0])=6

对指针利用sizeof 得到的都是一个相同的值。在C语言中,指针只保存一个地址,所以任何类型的指针都占用相同的字节数(指针大小 4 or 8)。对数组名利用sizeof 得到的是整个数组占用的字节数。

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台