![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Lotles |
|
|||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 6.4.2010 Репутация: нет Всего: нет |
Не совсем понимаю указатели
Не понимаю различия Объясните pliz !!! |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
str[0] - это char*
*str[0] - это char &str[0] - это char** (это тоже самое что и str + 0) *&str[0] - это char * |
|||
|
||||
Lotles |
|
|||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 6.4.2010 Репутация: нет Всего: нет |
Есть какие нибудь книги, где хорошо объеснены массивы указателей
|
|||
|
||||
djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
Керниган и Ритчи (K&R).
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
EvilsInterrupt |
|
|||
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: нет Всего: 9 |
Lotles, многие вещи запоминаются сами собой, если пишешь много, а не только читаешь! Теория говорит "что вот мол существует", а практика говорит "на самом деле, ты можешь полагаться на ...". Чаще практикуй ;)
|
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Lotles, попробуй почитать часто задаваемые вопросы, может это то, что тебе нужно.
|
|||
|
||||
Lotles |
|
|||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 6.4.2010 Репутация: нет Всего: нет |
Если str[0]- указатель, то почему
выдает 111, по идеи должен быть адрес ? Это сообщение отредактировал(а) Lotles - 28.7.2010, 16:31 |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Lotles, для указателей на char сделано исключение, чтобы можно было без проблемы выводить строки в стиле С.
Если тебе нужен адрес (для отладки, надеюсь?), то используй static_cast<const void*>:
Это сообщение отредактировал(а) bsa - 28.7.2010, 22:40 |
|||
|
||||
Lotles |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 6.4.2010 Репутация: нет Всего: нет |
Еще один вопрос
Если написать так:
Объекту cout передаем указатель str[0] на массив "111", cout выводит данные, находящиеся по адресу (строку 111) Если написать так:
bsa вы написали что *str[0] имеет тип char, но если придерживаться той же логиге, что и здесь,
(т.e если указатель разъименовать, что делает cout, должна выводится строка до знака'/0'), то должна выводиться строка, а не символ Это сообщение отредактировал(а) Lotles - 29.7.2010, 14:40 |
||||||||
|
|||||||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Lotles, cout ничего не разыменовывает. Просто есть operator<<(std::ostream&,const char*), который выводит строку в стиле си, на которую указывает второй параметр. Когда ты пишешь *str[0], то вызывается уже oprator<<(std::ostream&,char), который выводит один символ.
|
|||
|
||||
Lotles |
|
|||
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 6.4.2010 Репутация: нет Всего: нет |
Ну вот, я разобрался, кажись , с указателями.
bsa спасибо, 100 постов наберу поставлю плюсик !!! Это сообщение отредактировал(а) Lotles - 29.7.2010, 15:25 |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Ждать 100 постов не обязательно - плюсик поставил |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |