让我们清楚地说出所谓的左右值。
让我们对其进行编译并深入了解!
知道什么是左右值,让我们看一下指针是什么
1.指针是什么?指针是地址!那么地址的本质是什么?地址是数据,那么数据可以存储在变量空间中吗?当然2.有指针变量的概念?当然,保存指针(地址)相关数据的变量是指针变量3.指针和指针变量之间有什么区别?我们的口头语言中的“定义指针”是什么意思?我们如何才能理解,从严格的意义上讲,指针和指针变量是不同的,指针是地址值,并且指针变量是C中的变量。C中的变量是必要的区域开发空间来保存地址数据,并且也可以进行地址。(首先),但是,当我们经常表达他们的口头表达时,我们经常混合这两个概念。无法验证具体原因,这可能与C数据的最早翻译有关。人们的表情习惯。据估计,外国人是这样认为的。
查看指针变量的左右值
因此,结论:指针变量也是左值和右值之间的区别,以及上述叙述,我们还将指针和指针变量分开。说明:实际上,指针是地址,地址是数据,并且可以存储数据。然后可以存储指针。然后可以存储指针。然后可以存储指针。变量在这里。指针变量存储(指针)数据。好吧,我们现在已经分开了这两个概念。接下来,我们将其合并:离开:请参阅此一组代码:
解释:
很好地了解这张照片很重要!交叉启动开始触摸触及启动会议很重要
我们以生活中的生活为例
对于这样的宿舍建筑物,有很多地板,如果您想找到一个没有房屋号码的房间,这将是不便的,因此建筑师非常聪明,每个房间都有一个房屋号码。查找数据时可以直接找到地址。高效率在寻找数据之前不需要穿越整个内存。
目前,有些人想问,您只是说地址也是数据。那么,这些数据有多大和多少个字节?
答案是:32位平台指针的4个字节,64位平台上的8个字节。
有人想再次询问,我们仍然想保存这些地址数据吗?字节空间中有一个地址,地址为4个字节。内存是根据字节的字节位置的
简要了解地址
总结一个公式:在相同类型的情况下,解决指针,指示指针指向的目标(必须记住)解释:
:blossom:*p。完整的理解是,P中的地址并访问指向地址的内存单元(空间或内容)(实际上,通过指针变量访问,本质上是间接地址方法)
知道指针的本质是地址,地址是数据,因此我们可以直接通过地址数据访问变量???让我们尝试一下!交点的答案不好,我们从未见过这样的直接访问,我们都是间接访问!
但是为什么不呢?
目前,主流编译器和操作系统具有许多安全的存储器保护机制。我们当前的Win和Linux具有这样的机制,例如堆栈随机化到黑客以预测用户数据地址。当然,还有其他堆栈保护机制,例如“金色皮肤”技术
接下来,我将首次测试此“堆栈随机”
让我们看看每个变量的地址不同,这意味着您保存的内容没有变化,但是地址是动态的。这是避免的。黑客计算出某些地址具有重要的内容并偷走了它。这次,您可以理解为什么无法直接访问它。变量存款内容的地址动态更改。每次运行时,地址都会更改。也许它更改为0x1234的地址。因此,编译器提示了错误。
第一的
第二次是相同的
改变位置并改变
还对全局变量也有相关的保护!
让我们看一下如何首先解释它:**恭喜看到结束,老人看到您的骨骼精致,给您发送三个句子:
引用指针,代表指针指向的目标!
引用指针,代表指针指向的目标!
引用指针,代表指针指向的目标!交叉点进行**