Указатели и масиви
Указателите и масивите са тясно свързани. Името на масива може да се използва като указател, сочещ към първият елемент на масива. Нека разгледаме следния фрагмент:
int v[]={1,2,3,4}; int* p=v; int* begin=&v[0]; int* end=&v[4];
В ред 1 е дефиниран масивът v
, който има четири елемента. Името на масива v
може да се разглежда като указател, сочещ началото (първия елемент) на масива, т.е. дефинирания в ред 2 указател p
сочи към първия елемент на масива v
. Адресът на първия елемент на масива може да бъде получен и като се използва унарния оператор &
по следния начин – &v[0]
(виж ред 3).
Съгласно дефиницията на езика указателят end дефиниран в ред 4, насочен с едно след последният елемент на масива, има добре дефинирана стойност. С други думи такъв указател може да се използва при сравнение с други указатели. От друга страна стойността, записана на адреса към който е насочен указателят end, не е дефинирана. Прилагането на оператора * към указателят end води до получаване на произволна стойност.
Pingback: CPP-101: Кратък обзор на езика за програмиране C++ | Записки по програмиране