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可以保证对特殊地址的稳定访问
相关文章推荐
- [zz]C语言的5种存储类以及关键字volatile、restrict
- C语言奇思妙想:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case 等关键字以及条件判断语句(A?B:C)
- 简单介绍C语言中auto,register,static,const,volatile,extern等几个关键字的作用
- C语言32个关键字_continue,break,return
- C语言的5种存储类以及关键字volatile、restrict
- C语言中关键字auto、static、register、const、volatile、extern的作用
- Java学习笔记四-Java的循环结构和分支结构以及break,continue关键字
- C语言中关键字auto、static、register、const、volatile、extern的作用
- JAVA流程控制语句(顺序语句、判断、选择判断语句、while循环、do while循环、for循环、break、continue关键字)
- C语言的5种存储类以及关键字volatile、restrict
- C语言中关键字auto、static、register、const、volatile、extern的作用
- C语言奇思妙想:求1+2+…+n,要求不能使用乘除法、for、while、if、else、s witch、case 等关键字以及条件判断语句(A?B:C)
- C语言之auto、static、register、const、volatile、extern关键字
- C语言的5种存储类以及关键字volatile、restrict --主要看restrict,unix高级编程中用了好多
- 待消化2:C语言的5种存储类以及关键字volatile、restrict
- C语言中关键字auto、static、register、const、volatile、extern的作用
- C语言中关键字auto、static、register、const、volatile、extern的作用
- 小东吖 之 java的基础知识以及break 和 continue 关键字的使用
- C语言的5种存储类以及关键字volatile、restrict
- C语言中关键字auto、static、register、const、volatile、extern的作用