qq_40309502 2019-11-18 19:59 采纳率: 0%
浏览 226

关于const中指针及其操作在gcc与g++编译器下的解释?

int main()
{
const int x=5;
printf("转换前:x=%d\n",x);
int p=(int)&x;
p=10;
printf("转换后:x=%d\n",x);
printf("转换后:*p=%d\n",*p);
const int
q = &x;
* q = 10;
printf("x= %d\n",x);
printf("q= %d\n",*q);
return 0;

图片说明图片说明

两种情况都不理解 发现其中所有变量的地址都一样
请大佬详解

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-11-18 21:36
    关注

    你的代码根本不能编译

    #include <stdio.h>
    
    int main()
    {
    const int x=5;
    printf("转换前:x=%d\n",x);
    int *p=(int *)&x; //这里是指针
    *p=10; //指针
    printf("转换后:x=%d\n",x);
    printf("转换后:*p=%d\n",*p);
    const int *q = &x;
    //*q = 10; //只读的,修改是非法的
    printf("x= %d\n",x);
    printf("q= %d\n",*q);
    return 0;
    }
    

    转换前:x=5
    转换后:x=10
    转换后:*p=10
    x= 10
    q= 10

    评论

报告相同问题?

悬赏问题

  • ¥15 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64
  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示