Если я хочу увеличить указатель , который ссылается на местоположение целого ... [выделение добавлено]
Примечаниечто при увеличении указателя он увеличивается с шагом в размере объекта, на который может указывать указатель .
Поскольку вы упомянули -
, используяэтот метод работает без проблем:
*Pntr = *Pntr + 1;
Итак, похоже, что вы хотите увеличить значение в местоположении, на которое указывает Pntr
, на 1
.
Приоритет оператора postfix ++
выше, чем унарного оператора *
(проверьте приоритет оператора таблица).Таким образом, выражение
*Pntr++;
будет оцениваться как
*(Pntr++);
, которое будет перемещать указатель Pntr
на размер int
и затем разыменовывать его.
Для увеличениязначение указателя вы можете сделать:
(*Pntr)++;
Вы также можете использовать префикс оператора ++
:
++*Pntr;
Выражение
*Pntr +=1;
являетсятак же, как
*Pntr = *Pntr + 1;
, и оба увеличат значение в месте, указанном на Pntr
на 1
.