12.07.2015 Views

C++ - VideoTutorials-bg.com

C++ - VideoTutorials-bg.com

C++ - VideoTutorials-bg.com

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

T* const ; е константен указател към тип T и не може да бъдепроменяна стойността му. В дефиницията:const T* ; е указател към константа от тип T и не може да бъдепроменяно съдържанието му.Пример:int i, j = 5;int *pi;// pi е указател към intint * const b = &i; // b е константен указател към intconst int *c = &j; // c е указател към цяла константа.b = &j;// грешка, b е константен указател*c = 15; // грешка, *c е константа7.2 Указатели и масивиВ <strong>C++</strong> има интересна и полезна връзка между указателите имасивите. Изразява се в това, че имената на масивите са указателикъм техните “първи” елементи. Последното позволява указателите да серазглеждат като алтернативен начин за обхождане на елементите нададен масив.Указатели и едномерни масивиНека a е масив, дефиниран по следния начин:int a[100];Тъй като a е указател към а[0], *a е стойността на a[0], т.е. *a иa[0] са два различни записа на стойността на първия елемент намасива. Тъй като елементите на масива са разположени последователнов паметта, a + 1 е адреса на a[1], a + 2 е адреса на a[2] и т.н. a +n-1 е адреса на a[n-1]. Тогава *(a+i) е друг запис на a[i] (i = 0,1, ..., n-1).Има обаче една особеност. Имената на масивите са константниуказатели. Заради това, някои от аритметичните оператори, приложиминад указатели, не могат да се приложат над масиви. Такива са ++, --и присвояването на стойност.8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!