ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
1472224 Топик полностью
Peter_M (25.10.2024 07:26, просмотров: 127) ответил IBAH на Хрен с ними с буферами, объясните темному, про const char* и char* const.
Константы могут быть размещены во flash. 

При определении указателя как он сам, так и его значение могут быть объявлены константами.

Для этого используется модификатор const:


type const * const имя_указателя инициализатор;


Ближайший к имени указателя модификатор const относится собственно к указателю,

а const перед символом '*' определяет "константность" начального значения, связанного с указателем.

Мнемоника очевидна, так как выражение *имя_указателя есть обращение к содержимому соответствующего участка памяти.


Таким образом, определение неизменяемого (константного) указателя имеет следующий формат:

type * const имя_указателя инициализатор;


Формат определения указателя на константу:

type const * имя_указателя инициализатор;


Можно определить неизменяемый (постоянный) указатель на константу. Например,

const float pi = 3.141593;

float const *const pointpi = π

Здесь невозможно изменить значение константы, обращаясь к ней с помощью выражения *pointpi. Нельзя изменить и значение указателя pointpi, то есть он всегда "смотрит" на константу 3.141593.