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;
两种情况都不理解 发现其中所有变量的地址都一样
请大佬详解
你的代码根本不能编译
#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