Advertisement
TwITe

Untitled

Jul 7th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.91 KB | None | 0 0
  1.     int *foo; //создается указатель foo типа int, который будет хранить адрес 0 ячейки динамического массива, который мы создадим позже. Мы будем его использовать для записи значений и работы со значениями динамического массива.
  2.        Вообще, так создавать указатель нежелательно (в той книге прочитал).
  3.        Но ведь даже если написать  int *foo = new int , это будет также небезопасно, потому что память, выделенная оператором new для встроенных типов, не инициализируется?
  4.        /////////////////////////////////////////////////////////////////////////////////
  5.     foo = new int[5]; // указателю присваивается адрес выделенного участка динамической памяти для хранения целых чисел (int) размером 5, который мы создали с помощью оператора new. Значением указателя является адрес первого байта выделенной памяти.
  6.     for (int i = 0; i < 5; i++) { //заполняю массив . *(foo+i) - так с помощью указателя мы передвигаемся по ячейкам памяти динамического массива, начиная с 0 элемента. Т.е, если i = 0, то *(foo+0) ведет на 0 элемент, если i = 1, то *(foo+1) ведет на 1 элемент и т.д.
  7.     *(foo+i) = rand(); // заполняю рандом числами
  8.     }
  9.     for (int i = 0; i < 5; i++) { //вывожу массив
  10.         cout << *(foo + i) << " ";
  11.     }
  12.     return 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement