const "金钟罩"的用法

来源:互联网 发布:九章算法 系统设计 编辑:程序博客网 时间:2024/05/16 13:49
9、const使用时的注意点,指出下面程序中哪句话出现错误#include <stdio.h>    int main()  {  const int x = 1;  int b = 10;  int c = 20;    const int* m = &b;  int* const n = &b;  const int* const s = &b;    x = 2;  //不可变  m = &c;  *m = 1;//值不可变    n = &c;//地址不可变*n = 1;    s = &c; // *s = 1;  //都出错  return 0;  }  对于C语言中的const有一句秘诀记住它的特性:进水楼台先得月。意为最靠近const的变量的值是不能变的,一旦发生改变就会出现错误。错误:  第13行中,x的值不能发生改变,出错。  第15行的做法是可以的,没有错误,但是16行中取它的值来改变就是错的,即m是可变的*m不可变。  第19行的做法可以,没错,但是18行的做法就是错的,即n是不可变的,但是*n可变。  第21和22行都是错的,*s和s都是不可变的。

原创粉丝点击