q172501 发表于 2024-11-12 11:49

C语言的指针有没有更好的理解方法

我在一直认为 C语言的指针就是地址,或者是地址的壳,但是指针的地址和地址的指针又怎么理解呢?希望高手们解答一下谢谢你的

无闻无问 发表于 2024-11-12 12:07

可以这样认为,指针变量包含两个东西,指针本身和指向的对象…

q172501 发表于 2024-11-12 12:09

谢谢你的解答

AnorilRin 发表于 2024-11-12 12:20

我的理解有点类似key-value,地址就是key,而一个指针,它本身就是存在内存里的,所以它自个儿肯定也有一个地址,这个时候它就变成了value。寻址的时候就变成了根据第一个key,找到指针,然后把指针当成第二个key,找到了存在指针里的数据

ffcxxiaoq 发表于 2024-11-12 12:22

久了你就会知道所谓的指针其实就是一个指针指向不同的数据地址{:301_1000:}

dhf327 发表于 2024-11-12 12:26

可以试着汇编入门一下,这个会很好理解了

yewoer 发表于 2024-11-12 12:36

打了一大段,结果回复的时候提示“没有绑定手机”,自动跳转了,然后回来所有文字全部消失了。。。气死我了,这个特性太恶心了

NobodyCares3488 发表于 2024-11-12 12:38

我觉得指针直接理解为地址的指向。
比如一个变量存储一个值,存储值的地方被十六进制码标记,称为内存地址,也就是存储变量的地址。
指针也是一种存储内存地址的变量,作用理解为:引用指针中存储的内存地址所对应内存空间所存储的值,也就是指针的指向。
指针也是被存储在一个内存地址对应的空间中。

简单理解指针就是获取存储的内存地址所对应的值。
个人理解。

Flinc 发表于 2024-11-12 12:39

举个不太严谨的例子,你把指针看作是你手里握的一根绳子,把指针指向某个实体,你可以认为就是把绳子的另一端拴在了那个物品上,然后你可以通过这个绳子对应索引到相应的物品,改变指针的指向就相当于你把绳子的另一端解开,重新栓到别的地方
指针的地址,你可以认为是你手握绳子的地方
地址的指针,可以理解成你手里拿的这根绳子,进一步拓展指针的指针,你可以理解成有一个人跟你同样拿了一根绳子,只不过他把绳子的另一端拴到了你的手上,他的那根绳子就是指针的指针

linnimei 发表于 2024-11-12 12:43

我感觉指针就像是房间的门牌号。,标注了数据所在的地方。而指针的指针就是用一个房间藏数据所在房间的门牌号。
页: [1] 2 3
查看完整版本: C语言的指针有没有更好的理解方法