c++中变量、变量名、变量地址、指针、引用等含义
首先了解内存,内存就是一排房间,编号从0开始,0,1,2,3,4,5......
房间里面一定要住人,新人住进去了,原来的人就走了;不管你住不住,里面都有人、
编号就是地址、里面的人就是内容,为了我们(人)记着方便,我们给他们起些名字,如张三、李四、于是,
变量,就是一个房间,它有编号(地址),他有名字(变量名),他有内容(里面的人)、
int a = 3; // a 是名字,3 是内容,地址可以假设是0x 12345678 (通常就是32位地址)、
// 0x12345678 这个房间里面住的是一个int,
所谓指针变量,就是一个房间,他里面的内容,可以放个地址;如
int *pi = &a; // pi 是名字,内容就是a的地址,0x12345678; 所以,你懂的,
// 我们知道你家地址,你说,我能找到你吗??于是
*pi = 4; // 就是通过pi,也就是a 的地址,把a的内容改成4了、
pi 的类型int*, pi就是个指针(变量)、
好吧,变量的别名,就相当于外号,
int & b = a; // 同样的0x12345678 这个房间,刚才他有个名字a,现在又有个名字b了、
b = 10; // 也就是 a = 10;
a = 100; // 也就是 b = 100;
int& 就是引用类型,int& b = a;
意思,就是b是对a 引用,也就是b 是a 的别名、a就是b,b就是a 其实,变量名字神马的都是浮云。 假设有一个整型变量(也就是int型),它放在内存0x0023F920中(其实是从0x0023F920~0x0023F923四个字节), 这个变量我声明的时候是这样的:int a=3; 那么我们可以知道:这个整型变量的地址是:0x0023F920,它的名字是a, 它的值是3,‘a’就是一个代号,一个名字,方便程序员书写程序,当编译器看到a时,看到a=10时,编译器就会把0x0023F920开始 的四个内存单元中的值改为10,仅此而已。所以无论是整型变量也好,指针变量也好,我们要把“变量名”和“变量”这两个概念区分开, 就像把“人的姓名”和“人本身”区分开一样。 此外,关于指针的类型,我们知道有int *,char *,double *等等。如果对一个int * 型的指针解引用,那么会连续读四个字节,如果 对一个char *型的指针解引用,则只会读一个字节,同样道理,double * 读八个字节,这是怎么实现的呢?其实反映在汇编代码上很简单。 比如有 int * a;b=*a; 对应汇编代码: move acx, dword ptr [a] move dword ptr[b],acx
最新文章
- GJM : Unity3D HIAR -【 快速入门 】 一、简介
- 【jq】c#零基础学习之路(5)自己编写简单的Mylist<;T>;
- windows7下启动mysql服务出现服务名无效
- SQL Server数据库层面自定义数据同步性能测试
- Java学习-010-创建文件夹源代码
- NSSet类型 以及与NSArray区别
- 如何配置svn服务器
- android logcat里面AndroidRuntime FATAL EXCEPTION: main这个是什么问题啊。
- HTTP/2 常见问题回答
- .NET注册页面代码
- 40 个超棒的免费 Bootstrap HTML5 网站模板
- 使用XE5-PACTH破解Delphi-XE5时,出现检查文件大小失败的解决方法
- C#类详解
- Spring+SpringMVC+MyBatis深入学习及搭建(十一)——SpringMVC架构
- C语言之linux内核--BCD码转二进制与二进制转BCD码(笔试经典)
- Mysql 模糊匹配(字符串str中是否包含子字符串substr)
- webpack笔记一
- 面试题20:搜索二叉树可能有两个元素发生了交换,如何恢复BST?
- app流畅度测试--使用FPS Meter
- java 面试题总结(一)
热门文章
- mysql 查询正在执行的sql
- tomcat 启用https协议
- C:\Windows\System32\drivers\etc中的hosts文件
- [翻译]windows下 连接到 bitnami的phpmyadmin
- 暴力三维树状数组求曼哈顿距离求最值——牛客多校第八场D
- 1 visual studio code 配置C++开发环境 (windows 开发环境)
- Python对象继承set类型
- 微信-小程序-开发文档-服务端-模板消息:templateMessage.getTemplateLibraryList
- 尾插法-实现链表反转(有点bug,以后再来研究下)
- C++之程序流程_选择结构