Курс лекций. - Микропроцессоры


Объявление указателей в языке программирования C-51 - часть 5


Примеры объявления и использования новых типов:

typedef float (* MATH)( ); // MATH - новое имя типа, представляющее указатель на функцию, возвращающую значения типа float typedef char FIO[40] // FIO - массив из сорока символов MATH cos; // cos  указатель на функцию, возвращающую значения типа  double // Можно провести эквивалентное объявление float (* cos)( ); FIO person; //Переменная person - массив из сорока символов // Это эквивалентно объявлению char person[40];

При объявлении переменных и типов здесь были использованы имена типов (MATH FIO). Помимо объявления переменных, имена типов могут еще использоваться в трех случаях: в списке формальных параметров при объявлении функций, в операциях приведения типов и в операции sizeof .

Инициализация данных

В языке программирования C-51, как и в других версиях языка C при объявлении переменной ей можно присвоить начальное значение, присоединяя инициатор к описателю. При этом во время запуска Вашей программы в ячейки памяти, соответствующие этим переменным будут записаны начальные значения. Только после этого выполнение программы будет передано подпрограмме main();.

Инициатор переменной начинается со знака "=" и может быть записан в следующих форматах:

Формат 1: = инициатор;
Формат 2: = { список - инициаторов };

Формат 1 используется при инициализации переменных основных типов и указателей, а формат 2 - при инициализации составных объектов.

Примеры присваивания первоначальных значений простым переменным:

char tol = 'N'; //Переменная tol инициализируется символом 'N'. const long megabyte = (1024*1024);

Немодифицируемой переменной megabyte присваивается значение константного выражения, после чего эта переменная не может быть изменена. Отмечу, что для микроконтроллеров семейства MCS-51 внутренняя память является дефицитным ресурсом, поэтому использовать ее для хранения констант нерационально. Лучше объявить переменную с спецификатором типа памяти code.

static int b[2][2] = {1,2,3,4};

Инициализируется двухмерный массив b целых величин, элементам массива присваиваются значения из списка.


- Начало -  - Назад -  - Вперед -