1、在do-while语句中,有个细节是应该要注意的,就是while (condition);在这个语句后面的分号千万不要忘记了,这和while是不同的
还有,如果do中定义的变量,由于作用域的问题,将不能在while语句中访问,所以应该在do前将循环中要使用的变量定义好。同时,也避免在while中定义变量,这样由于while语句在后,所以do中是无法使用的。
2、使用goto语句的时候,应注意不能跳过变量的定义,如果之中有变量定义,应该使用{}括起来。
3、有些预定义的指令很有用:
_ _FILE_ _ name of the file.
_ _LINE_ _ current line number.
_ _TIME_ _ time the file was compiled.
_ _DATE_ _ date the file was compiled.
还有就是assert,判断一个语句的结果是否为非零
第六章结束
4、ex7_1:
以前一直不理解jjhou为什么要把参数分为引数和参数,而不是像我们的习惯那样翻译成实参和形参,看了英文书后,知道是有原因的,因为英语中这两个词并不同:
Parameters,形参,参数(jjhou):和函数内部定义的变量相同,在函数内部使用,不同的是Parameter是定义在函数的参数表中的,将会在函数被调用时由传来的argument初始化
Arguments,实参,引数(jjhou):看了Parament的说明,这个argument是什么不难理解,不过argument可以是表达式,所以包括常数、变量、语句等
5、函数不能把数组和函数作为返回值,所以可行的就是返回数组的第一个元素的指针以及一个函数指针
6、来看关于指针做函数参数的例子:
void reset(int *ip)
{
*ip = 0; // changes the value of the object to which ip points
ip = 0; //changes only the local value of ip; the argument is //unchanged
}
一定要弄明白什么在改变而什么没有改变,把地址作为参数copy给ip,通过ip的解引用(dereference)可以改变ip所指向的值,但是,作为ip,是函数的内部变量,所以,传进来的地址并没有改变,如果要想改变地址,我想要使用指向指针的指针做参数了:
void reset(int **ip)