Форум программистов, компьютерный форум CyberForum.ru

немогу разобраться с переменной C++ - C++

Восстановить пароль Регистрация
 
xTIGRx
 Аватар для xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,169
Записей в блоге: 1
11.07.2013, 16:52     немогу разобраться с переменной C++ #1
Объясните пожалуйста, вот есть переменные int, char, float и т.д а, в некоторых функциях есть параметр, для которого надо указать переменную типо const char *str или char *str, что это значит???
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Maxim Prishchepa
Эксперт С++
 Аватар для Maxim Prishchepa
1762 / 985 / 60
Регистрация: 29.03.2010
Сообщений: 2,978
11.07.2013, 17:26     немогу разобраться с переменной C++ #2
это указатель, а следом почитайте про друга указателя - ссылку
xTIGRx
 Аватар для xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,169
Записей в блоге: 1
11.07.2013, 21:45  [ТС]     немогу разобраться с переменной C++ #3
ясно, только одно не пойму, когда пишут int *str, то создается указатель на адрес(чего???) переменной str???
Valentina
66 / 66 / 3
Регистрация: 13.05.2012
Сообщений: 130
11.07.2013, 21:54     немогу разобраться с переменной C++ #4
Цитата Сообщение от GoldDragon Посмотреть сообщение
ясно, только одно не пойму, когда пишут int *str, то создается указатель на адрес(чего???) переменной str???
создается указатель на int
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
11.07.2013, 22:28     немогу разобраться с переменной C++ #5
Цитата Сообщение от GoldDragon Посмотреть сообщение
ясно, только одно не пойму, когда пишут int *str, то создается указатель на адрес(чего???) переменной str???
нет. Создаётся указатель на переменную.
Он может содержать адрес другой переменной типа int.
Например
C++
1
2
3
4
5
int a;
a=2+2;   // a равно двум
int* str;
str=&a; // ЭсТэЭр равно адресу а
printf("адрес А равен %p", str);
Пока ему не присвоено значение этого адреса, он как и любая другая переменная не инициализован.

Добавлено через 10 минут
Значение указателя, то есть адрес переменной А сам по себе не очень полезен при программировании. Но мы можем применять к указателю оператор разиндексации *.
Он изменяет обращается к тем полезным данным, которые хранятся по данному адресу, т.е. на которые указывает указатель.
C++
1
2
3
4
printf("по этому адресу хранится число %d", *str); //   *str это значение,
//на которое указывает str, т.е. переменная a
*str=3*3;//теперь не просто *str изменилась, но и переменная а стала равна девяти!
printf("переменная a стала равна %d", a);
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
12.07.2013, 01:02     немогу разобраться с переменной C++ #6
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Значение указателя, то есть адрес переменной
в этой фразе вся суть
Yandex
Объявления
12.07.2013, 01:02     немогу разобраться с переменной C++
Ответ Создать тему
Опции темы

Текущее время: 17:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru