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. 指针混淆C++
- 2. 指针混淆 - C++
- 3. C++中的指针混淆
- 4. 指针与C++混淆
- 5. C++指针参考混淆
- 6. 混淆指针
- 7. 指针混淆
- 8. 指针混淆指针
- 9. C结构和指针混淆
- 10. 混淆的typedef和指针用C
- 11. 指针和数组混淆
- 12. 混淆引用和指针
- 13. 2D阵列列阵混淆
- 14. 简单的C指针混淆
- 15. int指针在C中的矩阵 - 内存分配混淆
- 16. 与指针数组混淆
- 17. 问题++(指针混淆我)
- 18. 混淆从阵列
- 19. Typedef阵列混淆
- 20. AutoHotKey阵列混淆
- 21. 混淆2D阵列
- 22. 类型错误和指针混淆
- 23. 指针,NSMutableArray,保留,循环和混淆
- 24. 混淆指针和多维数组
- 25. C++到C#:指针和阵列
- 26. 阵列和指针
- 27. 2D阵列混淆(C程序)
- 28. 与C++中的ledder containg阵列混淆
- 29. 混淆:指针和字符数组在C
- 30. 阵列2D到1D转换和混淆
是的。 __________ – kennytm 2010-03-29 13:01:12
你是指内存中的价值或地址? – ereOn 2010-03-29 13:06:13