Форум программистов, компьютерный форум, киберфорум
Наши страницы

Понять указатели:) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Распечатать введенную строку, удалив из неё слова с нечетными номерами и добавив перевернутое слово к слову с четными номерами. http://www.cyberforum.ru/cpp-beginners/thread254809.html
Распечатать введенную строку, удалив из неё слова с нечетными номерами и добавив перевернутое слово к слову с четными номерами. Например, из строки: "во что бы то ни стало" Должно получиться:...
C++ Представить число в виде многочлена Дано натуральное число А. Надо составить программу (С++), которая представляет его в виде многочлена. Например, 123 ==> 1 * 10 ^ 2 + 2 * 10 ^ 1 + 3 * 10 ^ 0. /*fizmat goroda Kamenets-Podolsky... http://www.cyberforum.ru/cpp-beginners/thread254798.html
C++ Указатели на структуры!
Захватить память для массива из 10 структур. Заполните массив данными из файла "1.dat". Вывести информацию о маршрутах, имеющих определенный пункт в качестве начального или конечного. Высчитать для...
C++ Вычислить период последовательности
Подскажите, как вычислить период последовательности. Как я понимаю, поместить сперва элементы в массив, и уже в нем считать период? ... long t, k, p, a, c, n=20; // p - Xo, t, k - Xn, int...
C++ Определите класс «Студент» http://www.cyberforum.ru/cpp-beginners/thread254763.html
Помогите пожалуйста с задачей Определите класс «Студент».Методы – перевод на следующий курс, выпуск, отчисление. Разработать дружественную классу «Студент» функцию, определяющую знак зодиака,...
C++ решить функцию Всем привет! помогите пожалуйста решить задачки на Borland C Буду крайне признательна! Заранее спасибо! подробнее

Показать сообщение отдельно
talis
792 / 544 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
10.03.2011, 20:08
Не за что, Svid. Главное запомните: указатели - это точно такие же переменные, как и char, int, float, double и технически от них не отличаются ровно ничем. Более того, это самые обычные числа, то есть их можно (хотя и не нужно) складывать и вычитать. Иногда даже для перехода на следующий элемент массива используется инкремент указателя - это не всегда хорошая идея, но иногда так делают, и ничего плохого в этом нет, разве что тут выше риск сделать первоклассную утечку памяти. Единственный нюанс - тут значение указателя увеличивается не на 1, а на ( 1 * размер_элемента_массива ), то есть, в случае с int - сразу на 4.

C++
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
27
28
int main()
{
   int array[18];
   
   
   // arr = адрес начала массива. Пока arr != адресу последнего элемента + 1 (аккурат конец массива)
   for( int * arr = &array[0]; arr != &array[19]; arr++ )
      *arr = 12;
      
   // оно же:
   //for( int i = 0; i < 18; i++ )
   //   arr[i] = 12;
   
   
   
   
   for( int * arr = &array[0]; arr != &array[18]; arr++ )
      cout <<  *arr << "; ";
   
   // оно же:
   //for( int i = 0; i < 18; i++ )
   //   cout << arr[i] << "; ";
   
   cout << endl;
   system("pause > nul");
   
   return 0;
}
У неё тоже есть свои плюсы.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru