Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроц техника / 4 курс_МТ_МСУД / описание микроСи .doc
Скачиваний:
34
Добавлен:
10.02.2015
Размер:
261.63 Кб
Скачать

Int state[2];

};

Так как объявление структуры это оператор, то заканчивается оно точкой с запятой. В одной структуре могут содержаться данные разных типов.

Объединения – разновидность структуры - позволяют одному участку памяти содержать два или более различных типов данных.

Объявление объединения начинается с ключевого слова union:

union union_type

{

int i;

char d;

};

Для объявления переменной cntv объединения union_type нужно написать:

union union_type cntv;

Для доступа к элементам объединения используется точка, например:

cntv.i=10;

Объявления

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

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

Одна переменная объявляется один раз. Например:

int i; / / Определение переменной i

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

Синтаксис объявления: тип <список_переменных>. Список переменных содержит одно или более имен идентификаторов, разделенными запятыми.

int i, с, о;

Инициализация переменных может быть проведена при объявлении переменной:

int i=1;

Локальные переменные, объявляются внутри функции, с ними могут работать только операторы, находящиеся в блоке, где данные были объявлены. Вне блока (ограничиваемого фигурными скобками) они неизвестны. Наиболее типичным блоком, в котором они объявляются является функция.

Глобальные переменные видны всей программе и могут использоваться любым участком кода. Они хранят свои значения на протяжении всей работы программы. Объявляются вне функций.

Спецификаторы хранения (глобальных переменных)

Они говорят компилятору, где должны храниться переменные. Они предшествуют объявлению переменной. В общем случае это выглядит так:

<Спецификатор_хранения> тип <имя_переменной>.

В MikroC есть 4 спецификатора хранения: extern, static, register и auto.

extern Для удобства работы все глобальные переменные могут быть объявлены в одном файле. Если программный код включает в себя несколько файлов, то в них эти переменные используются как внешние и к ним добавляется спецификатор extern. Он сообщает программе, что следующие за ним типы и имена переменных объявлены в другом месте.

static Статические переменные – долговременные переменные, существуют на протяжении всего файла или функции. За пределами функции или файла они неизвестны, но могут сохранять свое значение между вызовами. Используются в универсальных библиотеках и функциях.

register Этот спецификатор говорит компилятору, что переменную нужно сохранить способом, обеспечивающим самый быстрый к ней доступ. Для целых чисел и символов – это размещение в регистрах процессора, а для других типов компилятор выбирает сам способы снижения времени доступа к ним. Однако, он может игнорировать это требование.

auto Этот спецификатор практически не используется, применяется только для локальных переменных для определения их как локальных.

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

asm

{блок инструкций ассемблера}