Распределение памяти массива указателей Char
Как выполняется распределение памяти для массива указателей на символы и двойного указателя.
char *s[]={"knowledge","is","power"};
char **p;
p=s;
cout<<++*p;
В приведенном выше выводе кода, предоставленном компилятором is- nowledge
Мой вопрос заключается в том, как значения присваиваются указателю p и как он увеличивается.
1 ответ
Операторы ++
а также *
имеют одинаковый приоритет и оба ассоциативны справа налево, что означает, что самый правый оператор (*
) выполняется первым. Значение *p
указатель на первый символ первой строки Оператор ++
увеличивает его, делая указатель на второй символ первой строки. Вот как вы получаете "сейчас".