以下代码显示了使用const变量时gcc和g ++的不同输出i.的地址i和值ptr是相同的,但上通过印刷的值访问该地址i和derefrencing的值ptr我得到的值i作为5与g ++以及10用gcc.
g ++如何在内存中保存const变量?
#include <stdio.h>
int main()
{
const int i =5;
int *ptr =(int*)&i;
*ptr = 10;
printf("\n %u and %u and %d and %d \n",&i,ptr,i,*ptr);
return 0;
}
Run Code Online (Sandbox Code Playgroud)