文章目录

  • 一、变量修改
    • 1、直接修改变量
    • 2、通过内存地址间接修改变量
    • 3、通过指针间接修改变量

一、变量修改


访问 变量 , 就是 访问 内存空间 ;

访问 指的是 读写 内存 ;

修改变量的方式 :

  • 直接修改 : 通过 变量 , 可以 直接 修改内存 ,
  • 间接修改 : 通过取地址符 , 拿到变量所在内存的 地址编号 , 通过地址编号修改内存 ;

1、直接修改变量

#include <stdio.h>int main()
{// 定义变量 aint a = 0;// 直接修改内存// 通过 内存标号 修改内存a = 1;// 打印 a 变量值 , 以及 a 的地址// a=1, &a=6422220// a 是内存地址 6422220 位置的 4 字节内存标号printf("a=%d, &a=%d\n", a, &a);return 0;
}

执行结果 :

a=1, &a=6422220

2、通过内存地址间接修改变量

#include <stdio.h>int main()
{// 定义变量 aint a = 0;// 直接修改 :// 直接修改内存, 通过 内存标号 修改内存a = 1;// 打印 a 变量值 , 以及 a 的地址// a=1, &a=6422220// a 是内存地址 6422220 位置的 4 字节内存标号printf("a=%d, &a=%d\n", a, &a);// 间接修改 :// 获取 变量 a 的地址 ,// 直接修改该地址对应的内存空间中的数据*( &a ) = 2;printf("a=%d, &a=%d\n", a, &a);return 0;
}

执行结果 :

a=1, &a=6422216
a=2, &a=6422216

3、通过指针间接修改变量

#include <stdio.h>int main()
{// 定义变量 aint a = 0;// 直接修改 :// 直接修改内存, 通过 内存标号 修改内存a = 1;// 打印 a 变量值 , 以及 a 的地址// a=1, &a=6422220// a 是内存地址 6422220 位置的 4 字节内存标号printf("a=%d, &a=%d\n", a, &a);// 间接修改 : 通过内存地址// 获取 变量 a 的地址 ,// 直接修改该地址对应的内存空间中的数据*( &a ) = 2;printf("a=%d, &a=%d\n", a, &a);// 间接修改2 : 通过指针// 将变量 a 的内存地址赋值给 pint *p;p = &a;// 通过修改 p 指针指向的内存 , 修改变量 a 的值*p = 3;printf("a=%d, &a=%d\n", a, &a);return 0;
}

执行结果 :

a=1, &a=6422216
a=2, &a=6422216
a=3, &a=6422216

【C 语言】变量本质 ( 变量修改 | 直接修改变量 | 通过内存地址间接修改变量 | 通过指针间接修改变量 )相关推荐

  1. python查看变量内存地址的内置函数是_查看变量内存地址的Python内置函数是____...

    查看变量内存地址的Python内置函数是____ 答:id() 产妇乳汁分泌主要依赖于 答:哺乳时吸吮刺激 下列选项中,属于"路径面板"中的工具按钮的是 答:用前景色填充路径 用画 ...

  2. 【C 语言】字符串模型 ( strstr-while 模型 | 抽象函数模型 | 业务子函数接口定义要点 | 形参指针间接赋值 | 返回值状态 | 形参指针处理 | 形参指针判空 | 形参返回值 )

    文章目录 前言 一.业务子函数接口定义要点 二.完整代码示例 前言 字符串开发模型 : strstr-while/do-while 模型 : 在 字符串 中 查找 子串特征 ; 两头堵模型 : 两个指 ...

  3. linux c语言变量地址类型,C语言基础知识:访问内存地址的方法

    汇编语言寄存器间接寻址方法 #define GPJ0CON0xE0200240 ldr r0, =GPJ0CON //把地址值赋给寄存器r0,从后面的=可以看出用的是ldr伪指令,因为需要编译器来判断 ...

  4. 【C 语言】变量本质 ( 变量概念 | 变量本质 - 内存空间别名 | 变量存储位置 - 代码区 | 变量三要素 )

    文章目录 一.变量概念 二.变量本质 1.变量本质 - 内存别名 2.变量存储位置 - 代码区 3.变量三要素 一.变量概念 变量概念 : 变量 是 既能读 , 又能写 的 内存对象 ; 与 变量 相 ...

  5. C语言day1(数据类型、变量本质)

    1.数据类型的用途及本质 数据类型的本质:固定大小内存块的别名 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include &l ...

  6. Go 指针类与变量的*(星号)与(取址符)

    指针类型 golang中,指针是一种类型,指向变量所在的内存单元(不是内存地址). 申明: 在变量名前加上星号字符,比如 *age ,指向变量age所在的内存单元 &(取址符): 对变量取址 ...

  7. 【C语言进阶深度学习记录】三十七 C/C++中造成程序内存错误的原因(野指针)

    什么是野指针? 指针变量存的地址是一块非法内存地址.进而形成野指针.但是需要注意一点,野指针不是NULL指针. 文章目录 1 野指针的概念 1.1 野指针代码案例初探 2 如何避免野指针 2.1 野指 ...

  8. 【C 语言】一级指针 易犯错误 模型 ( 判定指针合法性 | 数组越界 | 不断修改指针变量值 | 函数中将栈内存数组返回 | 函数间接赋值形参操作 | 指针取值与自增操作 )

    文章目录 一.判定指针合法性 二.数组越界 三.不断修改指针变量值 四.函数中将栈内存数组返回 五.函数间接赋值形参操作 六.指针取值与自增操作 一.判定指针合法性 判定指针合法性时 , 必须进行如下 ...

  9. Android For JNI(二)——C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器

    Android For JNI(二)--C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器 当我们把Hello World写完之后,我们就可以迈入C的大门了,今天就来讲讲基本的一些数据类型 ...

最新文章

  1. 说实话你现在有多少存款?清华北大毕业生晒出了自己的收入
  2. 深度学习的“瓶颈”与“遛狗”定理
  3. android 电视安装apk文件损坏,android - 无法在Android电视盒上安装APK - 堆栈内存溢出...
  4. 济南女子学院计算机科学与技术,山东女子学院计算机科学与技术专业2016年在山东理科高考录取最低分数线...
  5. UI设计师需要熟记的45个快捷键Windows、Mac
  6. nodejs 下载最新版本
  7. 基于matlab直方图均衡,matlab 直方图均衡实验报告.pdf
  8. 设计心理学-以用户为中心的设计
  9. PageHelper.startPage 分页的坑
  10. 学校计算机实训室座次安排,班级座位调整流程设计
  11. Canvas 指纹图片改成红色
  12. 二维泊松方程求解--点迭代法
  13. CCF201809-3 元素选择器
  14. 工业路由器的端口映射方法 NAT/DMZ/UPNP
  15. 调查显示80后离职率最高 薪水低为辞职第一理由
  16. UVA:1600 巡逻机器人
  17. 一个程序员老总的年终总结2010版
  18. 宽依赖和窄依赖_【Spark】SparkCore解析(一):宽依赖和窄依赖
  19. SQL掌握:添加、修改、删除、查询4个句式
  20. vue将json格式的字符串格式化后输出到web界面上

热门文章

  1. benet 3.0的构建企业网络视频第二章地址
  2. Unity消息简易框架 Advanced C# messenger
  3. UVa 11100 旅行2007
  4. 关于排版中经常见的问题的解决方法
  5. SharePoint 2013 REST 服务使用简介
  6. ASP.NET动态的修改主题
  7. jquery内核学习(6)--扩展实现extend
  8. cvReleaseImage出错
  9. luogu 5471 [NOI2019]弹跳 KDtree + Dijkstra
  10. idea不识别yml配置文件,怎么办?