1. (*x)++
Значение, на которое указывает x
, постинкрементно увеличивается.Это приведет к указанному значению до операции приращения.
2. *(x++)
Указатель x
разыменовывается и постинкрементно увеличивается.Это возвращает значение, на которое указывает x
до операции приращения.
3. ++(*x)
Значение, на которое указывает x
, предварительно увеличивается.Это приведет к указанному значению после операции приращения.
4. *(++x)
Указатель x
разыменовывается после предварительного увеличения.Это даст значение местоположения сразу после того, на которое в данный момент указывает x
.
Поскольку 2 и 4 изменяют значение самого x
, они считаются примерами арифметики указателей.1 и 3 изменяют объект, на который указывает x
, но не сам указатель;поэтому они не считаются арифметикой указателей.