Sizeof ---最冤枉的关键字
来源:互联网 发布:淘宝客佣金怎么计算的 编辑:程序博客网 时间:2024/05/04 16:06
sizeof()功能:计算数据空间的字节数;
sizeof是关键字不是函数,其实就算不知道它是否为32个关键字之一时,我们也可以借助编译器确定它的身份。
看下面的例子:
;int i = 0;
A) sizeof(int); B)sizeof(i) C)sizeof int D)sizeof i;
毫无疑问,32位系统下 A ,B的值为 4。在32位系统下,通过Visual C ++ 6.0或任意一编译器调试,我们发现D的结果也是4。Sizeof后面的括号呢? 没有括号居然也可,那想想,函数名后面没有括号行吗?由此轻易得出sizeof绝非函数。
好,再看C)。编译器怎么提示出错呢?不是说sizeof是个关键字,其后面的括号可以没有么?那你想想sizeof int表示什么啊?Int前面加一个关键字?类型扩展?明显不正确,我们可以在int前加unsigned,const等关键字但不能加sizeof。好,记住:sizeof在计算变量所占空间大小时,括号可以省略,而计算类型(模子)大小时不能省略。一般情况下,咱也别偷这个懒,乖乖的写上括号,继续装作一个“函数”,做一个“披着函数皮的关键字”。做我的关键字,让人家认为是函数去吧。
***********************************************************************************************
转的一些:
sizeof()功能:计算数据空间的字节数
1.与strlen()比较
strlen()计算字符数组的字符数,以"/0"为结束判断,不计算为'/0'的数组元素。
而sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示。
2.指针与静态数组的sizeof操作
指针均可看为变量类型的一种。所有指针变量的sizeof 操作结果均为4。
注意:int *p; sizeof(p)=4;
但sizeof(*p)相当于sizeof(int);
对于静态数组,sizeof可直接计算数组大小;
例:int a[10];char b[]="hello";
sizeof(a)等于4*10=40; //存的是占用的字节数
sizeof(b)等于6;
strlen("hello")等于5!!
- Sizeof ---最冤枉的关键字
- 最冤枉的关键字----sizeof
- 最冤枉的关键字----sizeof
- 最冤枉的关键字----sizeof
- 最冤枉的关键字————sizeof
- C语言sizeof关键字—被冤枉的关键字
- sizeof关键字的使用
- 没有括号的sizeof,sizeof为关键字
- C-sizeof 关键字的应用
- 关键字----sizeof
- sizeof关键字
- sizeof关键字
- sizeof关键字
- sizeof关键字
- sizeof 关键字
- Sizeof 关键字
- sizeof关键字
- sizeof关键字
- LAMP安装
- Image.Save()发生“GDI+ 中发生一般性错误”
- 几种常见的DIV边框样式
- 我的CSDN博客开启啦!
- .net连接MYSQL数据库方法一
- Sizeof ---最冤枉的关键字
- Silverlight 4 导航应用程序实现javacript history.go(-1)功能
- Java 游戏开发Notes
- 字符编码笔记:ASCII,Unicode和UTF-8
- gpg 中IDEA缺失的解决方法
- 爱
- 小bug
- 我的感受
- Spring中AOP几种通知