Sizeof ---最冤枉的关键字
2010-10-09 12:07
211 查看
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是关键字不是函数,其实就算不知道它是否为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!!
相关文章推荐
- C语言sizeof关键字—被冤枉的关键字
- 最冤枉的关键字----sizeof
- C语言sizeof关键字—被冤枉的关键字
- 最冤枉的关键字----sizeof
- 最冤枉的关键字————sizeof
- 最冤枉的关键字----sizeof
- 关键字-分节4(sizeof)
- C++中的sizeof 关键字详解
- sizeof:“我是关键字,不是函数!!!”
- C++ 学习笔记2----sizeof关键字
- C语言基础(4)-原码,反码,补码及sizeof关键字
- c语言--sizeof关键字
- 【C/C++】关键字之sizeof(sizeof()用法汇总)
- 关键字----sizeof
- sizeof关键字与数组本质 http://blog.csdn.net/yuanzhangmei1/article/details/7736725
- 彻底弄清几乎每次必考的sizeof关键字
- sizeof关键字
- c语言:sizeof的使用,其不是函数,是一个操作符关键字,定义一个数组arr,输出arr和&arr的区别
- 专题一关键字的剖析----4.goto,void,extern,sizeof的分析
- sizeof关键字