我有一个char
数组,我需要获取每个元素的地址。
cout << &charArray
给了我一个有效的地址,但是如果我试图获取特定元素的地址,它会吐出垃圾:
cout << &charArray[0]
答案 0 :(得分:8)
std::cout << (void*) &charArray[0];
operator<<
的{{1}}重载,尝试打印它认为指针指向第一个字符的以空字符结尾的字符串。但并非所有char数组都是以空字符结尾的字符串,因此就是垃圾。
答案 1 :(得分:1)
您可以执行类似
的操作&charArray + index * sizeof(char)