2016 - 2024

感恩一路有你

对指针取地址是什么意思 指针和取地址符的区别是什么?

浏览量:1377 时间:2021-03-14 01:49:36 作者:admin

指针和取地址符的区别是什么?

指针和地址符号的区别在于,指针可以很容易地进行加减运算。此外,为了将内存应用到堆并使用指针,不能使用数组。

取地址符和指针有什么区别?

(1)这两者有本质的不同。*它意味着指针,它意味着去地址。这两者相辅相成。(2) 用法不同。采用高级C语言动态打开内存,使用malloc和free。此时,我们不需要&,因为获取引用是针对堆栈上的数据的,而在数据结构中,数据容量是在堆上打开的。(3) 不同的语言规则,变量类型加*是指向变量类型的指针。一般来说,指针可以通过地址来修改和获取变量的值,&符号只能获取变量的地址!扩展:引用的声明符放在变量名前面,就像*运算符一样。引用声明后,表示目标变量名有两个名称,即原始目标名和引用名,引用名不能再作为其他变量名的别名。RA=1相当于a=1声明一个引用,该引用不是新定义的变量。这只意味着引用名是目标变量名的别名。它不是数据类型,因此引用本身不占用存储单元,系统也不会将存储单元分配给引用。因此:寻址引用就是寻址目标变量。&A等于&A。#简而言之,指针是表示地址的无符号整数。

所以仅仅理解指针是不够的。您还需要知道指针指向的数据空间是如何排列的。这可能涉及到一些与特定CPU/OS相关的知识。如果我们能用计算机体系结构的知识来理解它,它会更深刻、更准确。

例如:

如何存储float/double/long double?

如何在数据空间中组织阵列?

字符串是如何存储的?

如何存储结构和联合体?

位域组织

具体CPU相关部分如下:

整数的存储将涉及CPU大小的指定

浮点数的存储直接关系到FPU的设计

此外,还有一些扩展知识,涉及内存的分配和释放:如何在程序中分配内存?(malloc/free)

什么是堆和堆栈?

总而言之:指针是地址和整数。但要充分利用它,我们需要了解计算机存储空间的分配。困难在这里,突破在这里。

对指针取地址是什么意思 指针的值是地址还是内容 指针与地址之间的关系

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。