Указатели
Всяка величина в програма на C++ е определена с име, на което при
изпълнението е съпоставен адрес от ОП.
Адресът на една величина е адресът на първия байт на полето от ОП, в което се
съхранява текущата й стойност.
Величините в C++ имат тип. С него се определя множеството от допустими
стойности, които величината получава по време на изпълнение на програмата, и
множество от операции, които могат да се прилагат над тези стойности.
В C++ има възможност да се използват величини, чиито допустими стойности са
адреси на полета от ОП
Величина, чието множество от допустими стойности са адреси от ОП, се
нарича.указател.
Стойността на всеки указател е адрес на поле от паметта.
Познаването адреса на една променлива позволява косвен достъп до полето от
ОП, в което се съхранява текущата й стойност
Всяка величина или функция в C++ е достъпна
директно
чрез името си или
индиректно
чрез своя адрес.
Например чрез името си целочислената променливата
а
може да получава
стойност. Нейната стойност също е пряко достъпна чрез името
а
.
Пример
int
а; а=10; cout<<"а= " <<а<< endl ;
Ако
рА
е указател, чиято стойност е адресът на целочислената променлива
а
,
казва се, че
рА
е
указател, който сочи към а
, или само, че
рА
е
указател към а
.
В случая променливата
рА
е указател, а променливата
а
-
указана промснлива.
Указателят има
базов тип
и това е типът на величината, към която той сочи. Със
средствата на C++ това се записва по следния начин:
int а;//Деклариране на
целочислена променлива с име а
int *рА =&а; //
Деклариране на ykaзaтeл към променливата а
int *pB,*рС; //
ДОбщият вид на декларацията на указател е следният:
BaseType *PointerName
където: BaseType - тип данни в C++ (базов тип на указателя), PointerName - име на
указател (идентификатор)
Две от операциите с указатели са особено важни. Това са операциите адрес на
и косвен достъп до.
Операцията адрес на е едноаргументна и се означава със знака &. Чрез нея се
получава адресът на операнда (величината), към който е приложена.
Например чрез оператора рА= &а; на указателя рА се присвоява адресът на
променливата а.
Операцията косвен достъп до е също едноаргументна операция и се означава
със знака *.
Приложена към указател, чрез нея се получава косвен (непряк) достъп до
полето от ОП, към което сочи указателят.
Предмет: | Компютърни системи и технологии, Информатика, ИТ |
Тип: | Дипломни работи |
Брой страници: | 51 |
Брой думи: | 3943 |
Брой символи: | 34131 |