C指针和阵列混淆
回答
我想这取决于你使用的编译器,但答案可能不是。
顺便说一句,您可以通过比较两个字符的地址来轻松地进行测试。如果它们不同,那么:不。
无论如何,你不应该依赖于这一点;)
两者都具有相同的字符值。
...但您应该假设已分配两个物理上分离的“HELLO”字符串。 – 2011-03-17 09:17:11
他们将读取的是一个char大小的内存块,每个var指向的内存地址之后,它们位于每个开始之后的2个字符大小的步骤(此处为2个字节)。这恰好是'L'我的例子,但这不是在内存中的相同地址。
所以是的,在给出的例子中,他们将获取相同的字符。
你确定它不是相同的内存地址? :) – 2010-03-29 13:05:04
感谢所有.. – 2010-03-29 13:15:37
@Nick D:它不能是相同的内存地址。 'a'是包含字符串文字“HELLO”副本的数组,而'p'是指向字符串文字“HELLO”的指针。 – 2010-03-29 13:20:49
是的。
P [2]等于*(P + 2)
HELLO
^
*(p+2)
应注意的是,第一 “HELLO” 可能会被存储在可写存储器页,而第二个 “HELLO”可能会存储在只读页面中。这与您所在的编译器/平台非常密切相关。
在这两种情况下,他们将获取的'L'
。但是,它不是一样的'L'
。他们存储在不同的地方。这意味着如果你比较他们的指针,他们将不会是平等的。
- 1. 阵列/指针混淆
- 2. C++向量,列表,指针和混淆
- 3. 指针混淆C++
- 4. 指针混淆 - C++
- 5. 指针与C++混淆
- 6. C++指针参考混淆
- 7. C++中的指针混淆
- 8. C++中的指针混淆
- 9. 混淆指针
- 10. 指针混淆
- 11. 指针混淆
- 12. 指针混淆
- 13. 指针混淆
- 14. 指针混淆指针
- 15. C++,向量,指针和对象混淆
- 16. C++字符串和指针混淆
- 17. C指针和malloc混淆EXC_BAD_ACCESS
- 18. 混淆的typedef和指针用C
- 19. C结构和指针混淆
- 20. 指针和对象混淆(Objective-C)
- 21. 混淆引用和指针
- 22. 混淆Qsort和指针
- 23. 指针和数组混淆
- 24. 混淆阵列
- 25. 简单的C指针混淆
- 26. 寻找指针混淆在c
- 27. 混淆指针减量使用C
- 28. 2D阵列列阵混淆
- 29. 关于指针指针的混淆
- 30. int指针在C中的矩阵 - 内存分配混淆
是的。 __________ – kennytm 2010-03-29 13:01:12
你是指内存中的价值或地址? – ereOn 2010-03-29 13:06:13