|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.03.2009, 19:01 | #1 |
Регистрация: 26.03.2009
Сообщений: 7
|
Квалификатор const
Кто может сказать почему в обоих прогах выводится на экран символ b, несмотря на то, что name объявлено как указатель на неизменяемую область char.
Во втором случае действительно должно вроде выводиться b. А в первом разве не должна возникнуть ошибка? Код:
Код:
|
26.03.2009, 19:37 | #2 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Потому что const действует на то, что находится слева от него.
const char* name - эквивалентно char const * name, т.е. указатель у нас не константный, а константны значения, а все примеры работают именно с указателями. Попробуйте написать name[0] = 'b'; Думаю выругается, что константу меняете. Если написать char * const name, то не должны скомпилиться ваши примеры |