前言:
当前各位老铁们对“c语言size”大体比较着重,朋友们都想要分析一些“c语言size”的相关内容。那么小编同时在网上汇集了一些关于“c语言size””的相关知识,希望兄弟们能喜欢,大家一起来学习一下吧!1、sizeof是c语言中用来求字节运算符。
sizeof用来求一个对象(类型,变量,……)所占的内存大小(以字节为单位)。
sizeof(x)
typeof(x)
sizeof( typeof(x) )
不管你x是否存在,我(sizeof)只关心你的(x)的类型,
然后求这个类型应该占的字节大小。
x 可以是变量,数组,类型,表达式,……。只要x的类型是确定的。
char *p = NULL;
sizeof(p) == 4;
typeof(p) == char *
sizeof(p) == sizeof(char *) == 4
sizeof(*p) ==
typeof(*p) == char
sizeof(*p) == sizeof(char) == 1
char **p2;
sizeof(*p2) == 4
int a[100];
sizeof(a) == 400
sizeof(a) == sizeof( typeof(a) ) = sizeof(int[100])
sizeof(a[1024]) == 4
sizeof(a[1024]) == sizeof(typeof(a[1024])) = sizeof(int) = 4
sizeof(&a) == 4
sizeof(&a) == sizeof(typeof(&a)) ==4
typeof(&a) == typeof(a) * == int[100] *
sizeof(&a[0]) == 4
int b[100];
void func(int b[]/*int * b*/) //当数组名为一个函数参数,当作指针来看
{
sizeof(b) == 4
}
func(b);
sizeof(1.0) == 8
sizeof(1.0) == sizeof(typeof(1.0)) == sizeof(doublue) == 8
sizeof(1.0f) == 4
sizeof(1.0f) == sizeof(typeof(1.0f)) == sizeof(float) == 4
short s;
sizeof(s + 1) == 4
typeof(s + 1) == typeof(short + int )== int