|
Увод в програмирането
alpha
|
При адресната аритметика са валидни само операциите събиране и изваждане на указател с цяло число. При тези условия могат да се използват ++, –, += и -= . При добавяне или изваждане на цяло число към или от указател вскя единица е равна на броя байтове, отделени в паметта за дадения тип на елементи от данните, към който сочи указателя.
float x, *px, *py;
px = &x;
px = px + 3; // добавят се 3 по 8 байта към адреса запазен в px
py = --px ; // В py се записва стойността на px минус 8 байта.Няколко операции с указатели:
Указателите могат да бъдат изваждани един от друг. Ако p1 и p2 са указатели към елементи на един и същ масив, то p2 - p1 ще определи броя на елементите между двата елемента, към които сочат p1 и р2.
Възможно е да проверява дали някой указател не е празен указател, т.е. със стойност null
if ( p == NULL )
cout<<"Празен указател"<<endl;
else
cout<<"Better luck next time"<<endl;