c指针和const 的小程序

 1 #include<stdio.h>
 2 int main(void)
 3 {    
 4     double rates[3] = {11.1,22.2,33.3};
 5     
 6     const double *pc1;//不可以更改所指向的数据,但是可以更改所指向的地址 
 7     
 8     double * const pc2 = rates;//不可以更改所指向的地址,但是更改所指向的数据 
 9     
10     const double * const pc3 =rates+2;// 既不···也不能··· 
11     
12     pc1 = rates;
13     pc1++;  //更改地址 
14     
15     *pc2 =44.4; //更改数据 
16     
17     printf("%p 
%p
%p
",pc1,pc2,pc3);
18     printf("%f
%f
%f
",*pc1,*pc2,*pc3);
19     
20     
21     return 0;
22 }

总结:1,常量数据的地址  不能赋值给普通 的指针,如果能够赋值,就能通过 指针修改这个常量啦

     2、const double *pc1 PC1 没有改变所指向数据的权限了

    3、double * const pc2 = rates; 指针指向的地址没法变了,但是内容可以变

指针 操作,要时刻区分这三个概念:指针地址、指针指向的地址、指针指向地址的内容

原文地址:https://www.cnblogs.com/kalo1111/p/3300879.html