《C程序设计语言》(第二版)要点总结

 

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

转载于:https://www.cnblogs.com/mym/archive/2007/10/14/923795.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值