Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 10 / pointers_basics.cpp
blob: e3c537a36a9bc8dda79cb497873fc5ea0a8066a1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
using namespace std;

const int SIZE = 5;
int main()
{
  int arr[SIZE] = {9,8,7,6,5}; //arr е променлива от тип const int*
  int* ptr = arr;
  
  cout << arr << endl; // адресът на първата клетка в масива. 
  cout << ptr << endl; // същият адрес
  
  cout << *ptr   <<endl; // Изкарва стойността на клетката, към която сочи указателят. (Тук това е 9)
  cout << ptr[0] <<endl; // Отпечатва елементът на 0 отстъпа вдясно (тук пак това е 9)
  cout << ptr[1] <<endl; // Отпечатва елементът на 1 отстъп вдясно (тук това е 8)
  
  ptr+=2; // "Премества" указателят 2 клетки надясно.
  
  cout << *ptr   <<endl; // Изкарва стойността на клетката, към която сочи указателят. (Тук това е 7)
  cout << ptr[0] <<endl; // Отпечатва елементът на 0 отстъпа вдясно (тук пак това е 7)
  cout << ptr[1] <<endl; // Отпечатва елементът на 1 отстъп вдясно (тук това е 6)
  
  
  
  cout << *ptr <<endl;
}