Директивы препроцессора
Есть специальные команды, которые не компилируются, а лишь указывают препроцессору на необходимость выполнения некоторых действий. Директивы начинаются с символа #.
#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;