Использование описателя const в C |
|
Написал microsin
|
23.06.2007 |
Ключевое слово const обозначает, что та или иная величина не изменяется. Здесь приводятся подробные правила употребления описателя const.
1. Если в начале описания переменной стоит описатель const, то описываемый объект во время выполнения программы не изменяется:
const double pi = 3.1415;
const Complex one(1,1);
2. Если const стоит перед определением указателя или ссылки, то это означает, что не изменяется объект, на который данный указатель или ссылка указывает:
const char* ptr = &string; //указатель на неизменяемую строку
char x = *ptr; // обращение по указателю — допустимо
ptr++; // изменение указателя — допустимо
*ptr = '0'; // попытка изменения объекта, на который указатель указывает – ошибка
3. Если нужно объявить указатель, значение которого не изменяется, то такое объявление выглядит следующим образом:
char* const ptr = &string; //неизменяемый указатель
char x = *ptr; // обращение по указателю – допустимо
ptr++; // изменение указателя – ошибка
*ptr = '0'; // изменение объекта, на который указатель указывает – допустимо
|
Комментарии
2010-08-3113:41:36 typedef char* mystr;
const mystr str;
как раскрыть const mystr str;
a) const char* str;
b) char* const str;
//Липман и комплятор утверждают b вариант.Почему не сильно
понятно. Из подстановки следует вариант а.