使用sizeof运算符可以确定给定的类型占据多少字节。
虽然看起来sizeof像一个函数,但是在C语言中sizeof是一个关键字,
表达式sizeof(int)会得到int类型的变量所占的字节数,所得的值是一个size_t类型的整数,
size_t类型在标准头文件<stdio.h>(和其他头文件)中定义,对应于一个基本整数类型。
但是,与size_t类型对应的类型可能在不同的C库中有所不同,所以最好使用size_t变量存储sizeof运算符生成的值。
下面的语句是存储sizeof运算符计算所得的数值:
size_t size = sizeof(long long);
也可以将sizeof运算符用于表达式,其结果是表达式的计算结果所占据的字节数。
通常该表达式是某种类型的变量。除了确定某个基本类型的值占用的内存空间之外,
sizeof运算符还有其他用途,但这里只使用它确定每种类型占用的字节数。
注意:
如果希望把sizeof运算符应用于一个类型,则该类型名必须放在括号中,例如
sizeof(long double)。将sizeof运算符应用于表达式时,括号就是可选的。
sizeof和strlen的区别:
sizeof 是运算符,不是函数。sizeof计算某变量类型占用字节数。
strlen是函数,用来计算字符串的长度。
例如: char *src = "hello world";
strlen(src) = 11(字节);
sizeof(src) = 4(字节)。