Я бы хотел увидеть больше контекста для вашего вопроса. Тип значения имеет решающее значение, но вы оставили его. Значение ключевого слова const в C довольно тонкое; например
const char * p;
не означает, что указатель p является константой; Вы можете написать р все, что вам нравится. Что вы не можете написать, так это память, на которую указывает p, и это остается верным даже при изменении значения p. Это единственный случай, который я действительно понимаю; в общем, смысл тонкого размещения констант мне не понятен. Но этот особый случай чрезвычайно полезен для параметров функции , поскольку он извлекает обещание из функции, что память, на которую указывает аргумент, не будет видоизменяться.
Есть еще один особый случай, который должен знать каждый: целые числа. Почти всегда постоянные именованные целые числа должны быть определены в файле .h как литералы перечисления . Типы enum не только позволяют естественным образом группировать связанные константы, но и позволяют видеть имена этих констант в отладчике, что является огромным преимуществом.
Я написал десятки тысяч строк C; вероятно сотни, если я попытаюсь выследить это. (wc ~ / src / c / *. c говорит о 85 тысячах, но кое-что из этого генерируется, и, конечно, есть много кода на C, скрывающегося в другом месте). Помимо двух случаев, я никогда не нашел большого использования для const. Я был бы рад узнать новый, полезный пример.