35657

Untitled

Dec 23rd, 2023
619
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.83 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6.     const int size = 5;
  7.     int arr[size] = { 33, 44, 7, 8, 9 };
  8.  
  9.     // записываем адрес нулевого элемента массива в указатель
  10.     int* ptr = arr;
  11.  
  12.     /*
  13.         Показываем значение нулевого элемента массива
  14.         через разыменование указателя.
  15.         На экране 33
  16.     */
  17.     cout << *ptr << endl;
  18.  
  19.     /*
  20.         Показываем значение первого элемента массива
  21.         через разыменование указателя.
  22.         Мы прибавляем смещение по адресу на один элемент
  23.         после чего делаем разыменование.
  24.         Адрес внутри указателя не меняется.
  25.         На экране 44
  26.     */
  27.  
  28.     cout << *(ptr + 1) << endl;
  29.  
  30.     /*
  31.         Выполняем смещение на один элемент целого типа вперед
  32.         и записываем новый адрес в указатель ptr.
  33.         Фактически это операция выглядит так
  34.         ptr = ptr + 1 * sizeof(int)
  35.         Теперь в указатель содержится адрес первого элемента
  36.     */
  37.     // arr = arr + 1; // значение arr изменить нельзя (это константный указатель)
  38.     ptr = ptr + 1; // значение ptr изменить можно
  39.  
  40.     /*
  41.         Показываем значение первого элемента массива
  42.         через разыменование указателя.
  43.         На экране 44
  44.     */
  45.     cout << *ptr << endl;
  46.  
  47.     return 0;
  48. }
  49.  
  50.  
Advertisement
Add Comment
Please, Sign In to add comment