How do I get the address of elements in a char arr

2020-06-16 02:43发布

问题:

I have a char array and I need to get the address of each element.

cout << &charArray

gives me a valid address, However if I try to get the address of a specific element, it spits out garbage:

cout << &charArray[0]

回答1:

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

There's an overload of operator<< for char*, that tries to print the nul-terminated string that it thinks your pointer points to the first character of. But not all char arrays are nul-terminated strings, hence the garbage.



回答2:

You can do something like

&charArray + index * sizeof(char)