CPP-101: Промеливи и аритметика

Указатели

В C и C++ има специален тип променливи, в които могат да се съхраняват адреси на области от паметта. Този тип променливи са указателите. Ако с T означим даден тип, то T* ще бъде типът на указател към T. С други думи – променливите от тип T* съдържат адрес на обект от типа T. Например:

T* ps;
int* pi;

В ред 1 е дефинирана променлива ps, която е указател към променливи от типа T. В ред 2 е дефинирана променлива pi, която е указател към променливи от типа int.

За да се получи адресът на дадена променлива се използва унарния оператор &. Например:

int a=42;
int* pa;
pa=&a;

В ред 1 е дефинирана променливата pa, която е от типа указател към int. В следващия ред 2 на pa е присвоена стойност, която е адресът на променливата a, т.е. указателят pa ще сочи към променливата a.

Основна операция, която се извършва върху указателите, е да се получи стойността на обектът, към която сочи указателят. За тази цел се използва унарният оператор *.
Да разгледаме следния фрагмент:

int a=42;
int* pa=&a;
int b=*pa;
*pa+=42;

В ред 3 стойността на променливата, към която сочи pa, се присвоява на b, т.е. резултатът от операцията е b=42. В ред 4 стойността на променливата, към която сочи указателя pa, се увеличава с 42, т.е. резултатът от операцията е, че стойността на променливата a се е увеличила с 42.

Публикувано в CPP-101, ООП с етикети , , . Постоянна връзка.

Един коментар по CPP-101: Промеливи и аритметика

  1. Pingback: CPP-101: Кратък обзор на езика за програмиране C++ | Записки по програмиране

Коментарите са затворени.