您当前的位置: 首页 >  c语言
  • 2浏览

    0关注

    880博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

C语言学习第10篇---const volatile 关键字剖析

CodeAllen嵌入式编程 发布时间:2017-12-19 23:47:26 ,浏览量:2

知识来源主要是陈正冲老师的《C语言深度解剖》及Delphi Tang老师的《C语言剖析》,有兴趣的朋友可以看我置顶文章获取

 

const

修饰的变量是只读的,本质还是变量

修饰的局部变量在栈上分配空间

修饰的全局变量在全局数据区分配空间

只在编译器有用,在运行期无用

 

在现代的C语言编译器里面,修改const全局变量会导致程序崩溃

注意:标准C语言编译器不会将const修饰的全局变量存储于只读存储区中,而是存储与可以修改的全局数据区,其值依然可以改变

 

实验1:const的变量本质

#include 
const int g_cc = 2;
int main()
{
    const int cc = 1;
   
    int* p = (int*)&cc;
   
    printf("cc = %d\n", cc);
   
    *p = 3;
   
    printf("cc = %d\n", cc);
   
    p = (int*)&g_cc;
   
    printf("g_cc = %d\n", g_cc);
关注
打赏
1665938897
查看更多评论
立即登录/注册

微信扫码登录

0.0394s