2016 - 2024

感恩一路有你

指针地址所指向的值 c语言如何通过指针来改变所指向的值?

浏览量:3044 时间:2021-03-13 05:01:05 作者:admin

c语言如何通过指针来改变所指向的值?

Pointer value changed==>您是指保存在指针中的地址已更改还是指针指向的数据值已更改。前者将使指针指向另一个地址,而后者将改变相应内存地址的值。Variable change==>指针最初指向内存地址。“指针也将被更改”是指指针指向的值也将被更改,这是真的取消指针引用后的操作等同于对变量本身的操作,获取值时也是如此

怎么获得一个指针变量所指向的地址的值?

假设0x80000的地址值为5,int*P,并且内存中变量的地址是0x8abcd,那么p==0x80000*p==5&==0x8abcdp指向0x80000的地址,即p=0x80000。如果需要0x80000的地址值,则使用*p&p is查找int类型的指针变量p这是一个辅助指针,即int**a=&p

简而言之,指针是表示地址的无符号整数。

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

例如:

如何存储float/double/long double?

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

字符串是如何存储的?

如何存储结构和联合体?

位域组织

具体CPU相关部分如下:

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

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

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

什么是堆和堆栈?

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

指针地址所指向的值 c语言输出指针地址 c语言大小端的转换及实现

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