Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1839380
  • 博文数量: 333
  • 博客积分: 10791
  • 博客等级: 上将
  • 技术积分: 4314
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-08 07:39
文章分类

全部博文(333)

文章存档

2015年(1)

2011年(116)

2010年(187)

2009年(25)

2008年(3)

2007年(1)

分类: C/C++

2010-01-16 21:19:21

1、基本数据类型及所占空间(操作系统Ubuntu,编译环境gcc)
1)、int      :   sizeof(int)=4
2)、char     :   sizeof(char)=1
3)、float    :   sizeof(float)=4
4)、int *p  :   sizeof(p)=4
5)、int f[0] :   sizeof(f)=0;sizeof(*f)=4
6)、long double s :   sizeof(s)=16
7)、long l :   sizeof(l)=8
8)、double d :   sizeof(f)=8

2、static&extern
1)、链接属性:属于extern链接属性的标识符无论声明多少次、位于几个源文件坐都表示相同的实体;属于internal链接属性的标识符在同一个源文件中的所有声明中指向同意实体;属于none属性的标识符,每次声明都代表一个单独的实体。
2)、存储类型:变量的缺省存储类型是auto,存于堆栈中。静态存储类型(static)的变量在整个程序执行过程中一直存在,但并不会修改该变量的作用域。register用于自动变量的声明,提示它们应该存储在寄存器中而不是内存中。
3)、static与extern的关系:如果一个声明在正常情况下具有external链接属性,在它前面加上static关键字可以使它的链接属性变为internal。static只对缺省链接属性的external的声明才有改变链接属性的效果。
4)、static关键字:当它用于函数定义时或者用于代码之外的变量声明时,static关键字用于修改标识符的链接属性,从external改为internal,但标识符的存储类型和作用域不会受到影响。当它用于代码块内部的变量声明时,static关键字修改变量的存储类型,从自动变量转化为静态变量,但其链接属性和作用域不会受到影响。
阅读(1216) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~