sizeof操作符

Posted on 2011-06-20 19:20  李立锋  阅读(297)  评论(0)    收藏  举报

sizeof操作符的作用是返回一个对象或者类型名的长度,返回值的类型为size_t,长度的单位是字节。sizeof表达式的结果是编译时常量,该操作符有以下三种语法形式:

    sizeof (type name);

    sizeof (expr);

    sizeof expr;

将sizeof应用在表达式expr上,将获得该表达式的结果的类型长度。

使用sizeof的结果部分地依赖所涉及的类型:

1,对char类型或者值为char类型的表达式做sizeof操作保证得1

2,对引用类型做sizeof操作将返回存放此引用类型对象所需的内存空间大小

3,对指针做sizeof操作将返回存放指针所需要的内存大小;注意:如果要获取该指针所指向对象的大小,必须对该指针进行解引用

4,对数组做sizeof操作等效于将对其元素类型做sizeof操作的结果乘上数组元素的个数。因为sizeof返回整个数组在内存中的存储长度,所以使用sizeof数组的结果除以sizeof其元素类型的结果,即可求出数组元素的个数:

// sizeof(ia)/sizeof(*ia) returns the number of element in ia

size_t sz = sizeof(ia)/sizeof(*ia);

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3