如何获取char数组中元素的地址?

时间:2012-03-01 16:13:15

标签: c++ arrays char memory-address

我有一个char数组,我需要获取每个元素的地址。

cout << &charArray

给了我一个有效的地址,但是如果我试图获取特定元素的地址,它会吐出垃圾:

cout << &charArray[0]

2 个答案:

答案 0 :(得分:8)

std::cout << (void*) &charArray[0];

operator<<的{​​{1}}重载,尝试打印它认为指针指向第一个字符的以空字符结尾的字符串。但并非所有char数组都是以空字符结尾的字符串,因此就是垃圾。

答案 1 :(得分:1)

您可以执行类似

的操作
&charArray + index * sizeof(char)