Как получить адрес элементов в массиве char?

у меня есть char массив и мне нужно получить адрес каждого элемента.

cout << &charArray

дает мне действительный адрес, однако, если я пытаюсь получить адрес определенного элемента, он выплевывает мусор:

cout << &charArray[0]

2 ответов


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

есть перегрузка operator<< на char*, который пытается напечатать строку с нулевым завершением, которая, по его мнению, указывает на первый символ. Но не все массивы char являются строками с нулевым завершением, следовательно, мусор.


вы можете сделать что-то вроде

&charArray + index * sizeof(char)