【发布时间】:2015-06-08 01:06:09
【问题描述】:
我仍然想知道为什么在 C 中你不能简单地使用普通变量将某物设置为另一物。变量本身就是指向数据的指针,不是吗?那么,当您可以简单地使用原始变量时,为什么要让指针指向变量中的数据呢?是访问所述变量中数据的特定位(或字节,我猜)吗?
我确信这是合乎逻辑的,但是我从未完全掌握这个概念,并且在阅读代码时看到 *pointers 总是让我感到厌烦。
【问题讨论】:
-
在学习的过程中,我发现无论看起来多么复杂,指针都是保存内存地址的变量更容易记住。所以
char ***p很可怕,但它最终只拥有一个内存地址。 -
如果“原始变量”是一个 10MB 的网络缓冲区怎么办?你将如何将它传递给一个函数,复制它?你如何将它排入另一个线程,复制两次?
-
@MartinJames 很好的提示。