代码改变世界

指针常量、常量指针

  钟铧若岩  阅读(43)  评论(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 }
复制代码

 

复制代码
#include <iostream>
using namespace std;



int main() {
    
    
    int a = 1;
    int a1 = 2;
    int * const b = &a; //指针常量,指针不能再指向其他位置,但值可以改变
    *b = 100;
    //b = &a1;   要报错
    
    cout << "a = " << a << endl;
    cout << "*b = "<< *b <<endl; 
   
    const int *c = &a; //常量指针
    
    //*c = 2; //这里不能再赋值了
    cout << "*c = " << *c <<endl;
    c = &a1;
    cout << "*c = " << *c <<endl;
    
    
   
   
   
   
    return 0;
}
复制代码

 

相关博文:
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示