Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Для новичков > Указатели |
Автор: Lotles 27.7.2010, 17:21 | ||
Не совсем понимаю указатели
Не понимаю различия Объясните pliz !!! |
Автор: bsa 27.7.2010, 17:54 |
str[0] - это char* *str[0] - это char &str[0] - это char** (это тоже самое что и str + 0) *&str[0] - это char * |
Автор: Lotles 27.7.2010, 18:14 |
Есть какие нибудь книги, где хорошо объеснены массивы указателей |
Автор: djamshud 27.7.2010, 18:18 |
Керниган и Ритчи (K&R). |
Автор: EvilsInterrupt 27.7.2010, 21:26 |
Lotles, многие вещи запоминаются сами собой, если пишешь много, а не только читаешь! Теория говорит "что вот мол существует", а практика говорит "на самом деле, ты можешь полагаться на ...". Чаще практикуй ;) |
Автор: bsa 27.7.2010, 23:43 |
Lotles, попробуй почитать http://forum.vingrad.ru/index.php?show_type=forum&showtopic=269794&kw=faq-c++, может это то, что тебе нужно. |
Автор: Lotles 28.7.2010, 15:02 | ||
Если str[0]- указатель, то почему
выдает 111, по идеи должен быть адрес ? |
Автор: bsa 28.7.2010, 22:38 | ||
Lotles, для указателей на char сделано исключение, чтобы можно было без проблемы выводить строки в стиле С. Если тебе нужен адрес (для отладки, надеюсь?), то используй static_cast<const void*>:
|
Автор: Lotles 29.7.2010, 14:30 | ||||||||
Еще один вопрос
Если написать так:
Объекту cout передаем указатель str[0] на массив "111", cout выводит данные, находящиеся по адресу (строку 111) Если написать так:
bsa вы написали что *str[0] имеет тип char, но если придерживаться той же логиге, что и здесь,
(т.e если указатель разъименовать, что делает cout, должна выводится строка до знака'/0'), то должна выводиться строка, а не символ |
Автор: bsa 29.7.2010, 14:58 |
Lotles, cout ничего не разыменовывает. Просто есть operator<<(std::ostream&,const char*), который выводит строку в стиле си, на которую указывает второй параметр. Когда ты пишешь *str[0], то вызывается уже oprator<<(std::ostream&,char), который выводит один символ. |
Автор: Lotles 29.7.2010, 15:18 |
Ну вот, я разобрался, кажись , с указателями. bsa спасибо, 100 постов наберу поставлю плюсик !!! |
Автор: xvr 11.8.2010, 18:26 | ||
Ждать 100 постов не обязательно - плюсик поставил |