您的位置:首页 > 编程语言 > C语言/C++

C语言之关键字(二)break,continue,volatile,extern以及零值的判断

2017-07-12 15:11 190 查看

1.指针变量与零值比较:int *p;   if(NULL == p);或if(NULL != p) ;

2.float变量与“零值”进行比较:float p = 0.0;  if((p >= -EPSINON)&&(p <= EPSINON); //EPSINON为定义好的精度

3.bool变量与“零值”进行比较:bool p = FALSE; if(p); 或if(!p); //大家都知道FALSE的值在编译器里面被定义为0,但是TRUE在不同的编译器里面定义的不一样,VisualC++定义为1,而他的同胞兄弟Visual Basic就把他定义为-1

4.break与continue的区别

break关键字很重要,表示终止本层循环。

continue表示终止本次循环,当代码执行到continue时,本轮循环结束,进入下一轮循环。

5.循环语句的注意点:在多从循环中,应当将最长的循环放在最内层,最短的放在最外层,以减少CPU跨企循环层的次数。循环嵌套最好在3层以内

6.for语句的控制表达式不能包含任何浮点类型的对象

7.最易变的关键字———volatile

int i = 20;

int j = i;   //语句1

int k = i; // 语句2

此时编译器对代码进行优化,i没有被用作左值,这时候在语句1时从内存中取出i的值赋给j时,这时候没有丢弃他的值,第二次,直接赋给k,提高了效率。

volatile int i = 20;

int j = i;   //语句1

int k = i; // 语句2

volatile告诉编译器i是随时可能发生变化的,每次使用他的值必须去内存中取i的值,因而编译器生成的汇编代码会重新从i的地址读取数据放在k中,这样看来,如果i是一个寄存器变量,表示一个端口数据或者多个线程的共享数据,那么就容易出错,所以说volatile可以保证对特殊地址的稳定访问

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐