《C专家编程》读书笔记—第一章

本书的定位:介绍一些编程技巧,经验。

第一章:

①:赋值与相等的注意。(P1)

1
2
3
4
5
6
7
8
9
 if(<strong>3</strong> == i)   
 
//若写成= i则会报错,而原来若为if(i == 3)则写错不会报错。
 
{
 
    ...
 
}

②:未确定行为(unspecified)和未定义行为(undefined) (P12)

未确定的:在某些正确情况下的做法,但标准并未明确规定应该怎么做。

例如:参数求值的顺序

未定义的:在某些不正确情况下的做法,但标准并未规定该怎么做

          例如:当有一个符号整数溢出时该采取什么行动

③:最好不要省略原型的形参名  (P18)

尽管编译器并不理睬形参的名称,但他们经常能向程序员们传递一些有用的信息。

④:const指针与普通指针赋值的讨论   (P19)

1.  指针的参数传递约束条件:

因为参数传递类似于赋值,所以引用ANSI C 6.3.16.1:

两操作数都是指向限定或非限定内容兼容类型的指针,左端所指类型具有右端所指类型的所有限定符。

2.  ANSI C 6.1.2.5的例子讲到:

const float *类型不是一个限定的类型,它的类型是指向const限定的float类型的指针,即它是指向限定的类型的指针。

具体看《C专家编程》P19。

发布者

Tanky Woo

Tanky Woo,[个人主页:https://tankywoo.com] / [新博客:https://blog.tankywoo.com]

发表评论

电子邮件地址不会被公开。 必填项已用*标注