变量的本质

变量的本质

一 变量的本质:

变量: 既能读又能写的内存对象,称为变量。 (初始化后不能修改的内存对象称为常量)

如图所示,定义int型变量a,编译器给a分配了32位内存(4个字节),a指向这4个字节大小的内存。给b分配了8个字节内存,b指向这段内存。

可见:变量的本质是一段连续内存空间的别名。可以把变量当作一个门牌号。

我们通过变量往内存中读写数据,PS: 不是向变量读写数据,而是向变量所代表的内存空间中读写数据

二 通过变量修改内存有几种方法:

  ①直接修改:  

  int main()
  {
    int a;
    a=10; //直接赋值,直接向a代表的内存空间中写入数据
    return 0;
  }

  ②通过内存地址间接修改:  

  int main()
  {
    int a;
    a=10; //直接赋值
    printf("变量a的内存地址是:%d  \n", &a);
    return 0;
  }

    

  运行得到变量a的内存地址是6487628。改写代码如下:

  int main()
  {
    int a;
    a=10; //直接赋值
    printf("变量a的内存地址是:%d \n", &a);
    *((int*)6487628) = 5;  //告诉编译器,按照int类型操作从6487628开始的这段内存。
    printf("变量a的值是:%d \n", a);  //运行可知,a的值被修改为5
    return 0;
  }

    ③通过指针间接修改:

  由方法②可知,可以通过内存地址修改变量,自然可以通过指针修改啊,代码:

  int main()
  {
    int a;
    a=10; //直接赋值
    printf("变量a的内存地址是:%d \n", &a);
    p = &a; //指针指向a的内存地址首地址
    *p = 5;  //通过指针修改变量a的值
    printf("变量a的值是:%d \n", a);
    return 0;
  }

三 对内存空间起多个别名

  由C语言中数据类型的本质可知,对数据类型可以起别名。变量就是内存空间的别名。

 

posted on 2019-01-04 13:28 锋邢天下 阅读(...) 评论(...) 编辑 收藏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值