sizeof的用法

 

用法

  

 

 

sizeof(

类型说明符,

数组

名或表达式

);  

 

 

  

 

 

sizeof 

变量名

  

 

 

1. 

定义:

  

 

 

sizeof

C/C++

中的一个操作符(

operator

),简单的说其作用就是

返回一个对象或者类型所占的内存字节数。

  

 

 

MSDN

上的解释为:

  

 

 

The sizeof keyword gives the amount of storage, in bytes, 

associated with a variable or a type (including aggregate types). 

This keyword returns a value of type size_t. 

 

 

 

其返回值类型为

size_t

,在头文件

stddef.h

中定义。这是一个依赖于

编译系统的值,一般定义为

  

 

 

typedef unsigned int size_t;  

 

 

世上

编译器

林林总总,但作为一个规范,它们都会保证

char

signed 

char

unsigned  

 

 

char

sizeof

值为

1

,毕竟

char

是我们编程能用的最小数据类型。

  

 

 

2. 

语法:

  

 

 

sizeof

有三种语法形式,如下:

  

 

 

1) sizeof( object ); // sizeof( 

对象

 );  

 

 

2) sizeof( type_name ); // sizeof( 

类型

 );  

 

 

3) sizeof object; // sizeof 

对象

;  

 

 

所以,

  

 

 

int i;  

 

 

sizeof( i ); // ok  

 

 

sizeof i; // ok  

 

 

sizeof( int ); // ok  

 

 

sizeof int; // error  

 

 

既然写法

3

可以用写法

1

代替,为求形式统一以及减少我们大脑的负

担,第

3

种写法,忘掉它吧!实际上,

sizeof

计算对象的大小也是转换成

对对象类型的计算,也就是说,同种类型的不同对象其

sizeof

值都是一致

的。这里,对象可以进一步延伸至表达式,即

sizeof

可以对一个表达式求

值,编译器根据表达式的最终结果类型来确定大小,一般不会对表达式进

行计算。如:

  

 

 

sizeof( 2 ); // 2

的类型为

int

,所以等价于

 sizeof( int );  

 

 

sizeof( 

3.14

 

); 

// 

3.14

的类型为

double

2

也会被提升成

double

类型,所以等价于

 sizeof( double ); 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值