代码改变世界

指针常量、常量指针

2022-11-13 11:57  钟铧若岩  阅读(40)  评论(0编辑  收藏  举报

 

 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 int main(int argc, char **argv) {
 5     printf("Hello, World!\n");
 6     
 7     int a = 10;
 8     int a1 = 20;
 9     //不能再修改下面的值,会报错
10     //a = 20;
11     
12     int const *c = &a;
13     int *b = &a;
14     *b = 20;
15     //此处不能通过下面的代码改值,因为c已经为一个常量指针,但是可以直接修改a,b的值。
16     //*c = 40;
17     
18     printf("a = %d,b= %d c = %d",a,*b,*c);
19     
20     //常量指针,指向常量的指针,因此值是不能改变的,下面的代码会报错
21     const int *d = &a;
22     //*d = 30;
23     
24     //指针常量,这是一个指针,并且是一个常量,因此指针的地址就不能再变化了。
25     int * const e = &a;
26     //e = &a1;
27     
28     
29     
30     return 0;
31     
32 }