11)const

  1. const修饰一个  变量   为只读
  2. 1  const  int  a=1002 然后  我再 a=10;             这样写就是不行。

     

  3. 其实这个知识点主要考察    指针变量  指针指向的内存   是两个概念
     1 char buf[]="dhaslkfjhaskfd";
     2 
     3 
     4 const char *p=buf;
     5 char const *p1=buf;
     6 
     7 
     8 
     9 //上面两种是等价的
    10 
    11 char * const p2=buf;
    12 
    13 
    14 //还有一种情况是两个const
    15 const  char* const p2=buf;

    遇到这样的怎么看:

      1.   从左往右看,跳过类型,看修饰哪一个字符
      2.                如果是*,说明指针指向的内存不能变
      3.               如果是指针变量,说明指针的指向不能变,指针的值不能变
  4.   比如 
    const char *p=buf;   const修饰的是*  那么是那块内存不变,但是,指针的指向可以变,也就是p=&b,或者=&c,或者=&d都行
  5.       比如
     char * const p2=buf;   const修饰的是p2这个指针,那么p2这个指针中存的地址,不能变了,也就是p2=&b,永远存b的地址,不能是别的空间的地址
  6.  1 char buf []="dhsakdfjds";     
     2 char * const p2=buf;
     3   //下面的做法可以
     4 p2[1]='3';
     5 
     6 
     7 //因为,这个改变的是内存块中存的内容,没有改变p2中存的地址
     8 
     9 //下面的不可以
    10 p2=”dsadasfd“;
    11 
    12 
    13 //因为那个改变了p2中存的地址

     

  7. 定义const变量  要尽量初始化,其实是一定要初始化。

  8.  

     
  9.  

         
posted @ 2018-01-02 12:32  小油菜1  阅读(155)  评论(0编辑  收藏  举报