Latest web development tutorials
×

C курс

C Язык учебника C Краткое введение C параметры окружающей среды C Структура программы C Базовый синтаксис C Типы данных C переменная C постоянная C Storage Class C операторы C судья C циркуляция C функция C Обзорное правила C массив C указатель C строка C структура C союз C поле Bit C typedef C Входной и Выходной C грамотность документов C препроцессор C заголовок C Слепки C Обработка ошибок C Рекурсия C Переменный параметр C Управление памятью C Параметры командной строки C Классические 100 случаев

C Стандартная библиотека

C Стандартная библиотека - справочное руководство C Стандартная библиотека - <assert.h> C Стандартная библиотека - <ctype.h> C Стандартная библиотека - <errno.h> C Стандартная библиотека - <float.h> C Стандартная библиотека - <limits.h> C Стандартная библиотека - <locale.h> C Стандартная библиотека - <math.h> C Стандартная библиотека - <setjmp.h> C Стандартная библиотека - <signal.h> C Стандартная библиотека - <stdarg.h> C Стандартная библиотека - <stddef.h> C Стандартная библиотека - <stdio.h> C Стандартная библиотека - <stdlib.h> C Стандартная библиотека - <string.h> C Стандартная библиотека - <time.h>

файлы заголовков C

Файл заголовка является расширение файла.h, в том числе функции C деклараций и макроопределениям упоминавшееся совместно несколькими исходными файлами.Есть два типа заголовков: программистам писать файлы заголовков и компилятор поставляется с файлами заголовков.

В программе вы хотите использовать файлы заголовков, используйте C директиву препроцессора#include , чтобы обратиться к нему.Мы уже видели , файл заголовкаstdio.h, который является файл заголовка , который поставляется вместе с компилятором.

Файл Цитата заголовка эквивалентно скопировать содержимое файла заголовка, но мы не будем копировать содержимое заголовка файла непосредственно в исходном файле, так как при этом склонен к ошибкам, особенно когда программа состоит из множества исходных файлов.

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

файлы заголовков синтаксис ссылки

Использование директивы препроцессора#include могут ссылаться на пользователей и системных заголовков файлов.Она имеет следующие две формы:

#include <file>

Эта форма используется для ссылки на системные файлы заголовков. Он ищет файл с именем файла в стандартном списке системного каталога. При компиляции исходного кода, вы можете -I опции перед тем, предварительно каталог списка.

#include "file"

Эта форма используется для ссылки на файлы заголовков пользователя. Он ищет файл с именем файла в каталоге, содержащем текущий файл. При компиляции исходного кода, вы можете -I опции перед тем, предварительно каталог списка.

Ссылочные действия файлы заголовков

#include Директива поручает C препроцессор просмотреть указанный файл в качестве входных данных.Вывод препроцессора содержит вывод , который был создан, выходные файлы ссылки на текстовые и сгенерированные команды вывода#include.Например, если у вас есть файл заголовка header.h, следующим образом:

char *test (void);

И файл заголовка , используя основной программыprogram.c,следующим образом :

int x;
#include "header.h"

int main (void)
{
   puts (test ());
}

Компилятор появится следующий маркер потока:

int x;
char *test (void);

int main (void)
{
   puts (test ());
}

Только ссылки на файлы одного заголовка

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

#ifndef HEADER_FILE
#define HEADER_FILE

the entire header file file

#endif

Эта структура обычно называют обертку#ifndef.При повторном ссылки на файл заголовка, условие ложно, так как HEADER_FILE определено. В этом случае препроцессор будет пропускать все содержимое файла, компилятор будет игнорировать его.

Условный цитатой

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

#if SYSTEM_1
   # include "system_1.h"
#elif SYSTEM_2
   # include "system_2.h"
#elif SYSTEM_3
   ...
#endif

Тем не менее, если файл заголовка больше времени, чтобы сделать это очень неуместно, использовать имя препроцессора макросов для определения заголовков. Это называетсяусловная ссылка.Он не используется в качестве имени файла заголовка#include прямого параметра, вам нужно всего лишь использовать макрос , чтобы заменить имя:

 #define SYSTEM_H "system_1.h"
 ...
 #include SYSTEM_H

SYSTEM_H расширяется, препроцессор выглядит system_1.h, как было первоначально написано как#include.SYSTEM_H Makefile может быть определена с помощью опции -D для вас.