Chinaunix首页 | 论坛 | 博客
  • 博客访问: 407164
  • 博文数量: 128
  • 博客积分: 2247
  • 博客等级: 大尉
  • 技术积分: 767
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-17 09:30
文章分类

全部博文(128)

文章存档

2011年(4)

2010年(124)

我的朋友

分类: C/C++

2010-06-28 10:56:59

1、 C语言中的数据类型的取值范围取决于具体的机器:

一般,char – 1字节,short – 2字节,int – 24字节,float – 4字节,long/double – 8字节;

Java中,char – 2字节,byte – 1字节,int – 4字节,float – 4字节,long/double – 8字节。

2、 C语言中所有函数参数都是“通过值”传递的。

3、 从技术角度看,地址就是指向变量的指针。

4、 定义表示创建变量并分配存储空间;声明只是说明变量的性质,并不分配空间。

5、 ‘"0’表示值为0的字符, 即空字符null

6、 常量表达式是仅仅包含常量的表达式,在编译期求值,而非在运行时。

7、 从技术角度看,字符串常量就是字符数组。

8、 C语言没有指定同一运算符中多个操作数的计算顺序(&&||?,:除外),也没有指定函数中各参数的求值顺序。

9、 静态外部变量/函 数,其后声明的对象作用域限定为被编译文件的剩余部分;静态内部变量,不管其所在函数是否被调用,它一直存在,占据存储空间。

10register声明告诉编译期,变量放在寄存器中,只适用于自动变量(内部变量)以及函数的形式参数;寄存器变量无 论实际上是否存放在寄存器中,它的地址都是不可访问的。

11、不显示进行初始化时,外部变量和静态变量都将被初始化为0,而自动变量和寄存器变量初值无定义;外部/静态变量的初始化表达式必须是常量表达式,且只初始化一次;自动/寄存器变量每次进入函数或程序时都将被初始化。

12、指针的本质是存储地址值的变量。

13、把数组传递给一个函数时,实际上传递的是该数组的第一个元素的地址。函数定 义中,形参char s[]char * s是等价的,实参却有很大的差别。

140永远不是有效的数据地址,故可返回0表示异常。

15、进出栈的标准用法:*p++=val/val进栈/ val=*--p/出栈/

16、指针数组最频繁的用处是存放不同长度的字符串,如char * name[]={“Jan”,”Feb”,”Mar”}

17、结构的合法操作 a)整体复制和赋值;b&操作;c)访问其 成员。

18、结构类型的参数和其它类型的参数一样,都是通过值传递的。

19、所有运算符中,·à( )[ ]这些运算优先级最高。

20、结构的长度未必等于各成员之和,因为不同对象有不同的对齐要求,结构中可能 会出现未命名的“空穴”(hole)。

21、一个包含其自身实例的结构是非法的,但是可以包含指向结构的指针。

22union:一个变量可以合法地保存多种数据类型中任一种类型的对象;联合允许的操作与结构相同,且只能用其第 一个成员类型的值进行初始化。

阅读(579) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~