Использование описателя 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';    // изменение объекта, на который указатель указывает – допустимо