Почему адрес не меняется, когда я увеличиваю str? Я думал, что когда я выполнил арифметику указателя, указатель указывает на другой адрес памяти. Следовательно, не следует ли менять адрес памяти?Общие сведения о адресах памяти в C++
#include <iostream>
using namespace std;
void reverse(char* str){
cout << &str << endl;
while(*str != '\0'){
cout << &str << endl;
str++;
}
}
int main(){
char str[] = "hello";
reverse(str);
}
Вы печатаете адрес указателя, который хранит адрес - это 'char **' –
Возможно, 'cout << (void *) str << endl;' - это то, что вы ищете –