Директивы препроцессора

Есть специальные команды, которые не компилируются, а лишь указывают препроцессору на необходимость выполнения некоторых действий. Директивы начинаются с символа #.

#include <имя_файла> - добавить в данное место содержимое файла, файл содержится в специальном каталоге подключаемых файлов;

#include "имя_файла" - тоже, но для файла из текущей папки.

Стандартные заголовочные файлы (аналоги библиотек в других ЯВУ):

stdio.h – стандартный ввод-вывод;

string.h – работа со строками;

math.h – математические операции;

limits.h – константы предельных значений;

Следующие заголовочные файлы определены только для ОС Ms Dos и консольных приложений Ms Windows

conio.h – консольный ввод-вывод;

mem.h – функции работы с памятью;

dos.h – команды ОС Ms Dos.

 

#define идентификатор строка_замещения - заменяет все идентификаторы от директивы до конца файла на строку замещения.

#define WIDTH 80#define LENGTH ( WIDTH + 10 )#define test( f1, f2 ) ( f1 * f2 )

#undef идентификатор - отменяет директиву define, после данной директивы замен не производится.

#if, #elif, #else, #endif – организуют ветвление.

#ifdef, #ifndef – далее следующий код будет откомпилирован только если определена / неопределенна макроподстановка.

Метки

Идентификатор с последующим двоеточием является меткой. Метка является адресом оператора, следующего за меткой. Используется в операторах switch и goto.

Указатели

Обзор

Переменные хранят данные и не позволяют управлять их размещением в памяти. Единственная доступная операция – взятие адреса (&).

Указатель на переменную хранит адрес размещения данного. Обратиться к данному можно через операцию разыменовывания указателя (*). Объявление указателя осуществляется символом «*» перед именем переменной. Пример:

int x;

int *t; // объявили указатель t на переменную типа int

t = &x; // присваиваем указателю адрес переменной x

*t = 4; // используя указатель, присваиваем x значение 4

Указатели и объекты одного типа могут быть объявлены вместе. Пример (другая раелизация предыдущего примера):

int x,*t=&x;

Константа NULL предназначена для обозначения неинициализированных указателей.

Приведение типов

В языке «C» простые типы данных автоматически приводятся к требуемому. Вещественные преобразуются к целым путём отсечения дробной части. Данные большего размера приводятся к данным меньшего размера отбрасыванием старших байт. Для более сложных типов данных, а также для указателей требуется явное преобразование типов. Операция преобразования типа имеет вид:

(новый_тип)переменная

При этом для объектов (экземпляров классов и структур) операция приведения должна быть определена. Для указателей допустимо приведение к другому указателю. Приведение указателей никак не преобразует сами данные.

Примеры приведены далее.








Дата добавления: 2015-11-04; просмотров: 793;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.