Описание на ANSI C програма структурата на език за програмиране

"Директива" предоставя инструкции за Препроцесорът С изпълнението на някои действия по текста на програмата за съставяне.

"Pragma" дава задачата на компилатора за изпълнение на специфични действия по време на компилация.







Изходният код може да бъде разделена на една или повече "изходни файлове". (Например, файлът източник може да съдържа само няколко съответните функции на програмата.) Необходимо е да се събира отделно Когато се състави програма за общ текст, а след това се съберат неговите изходни файлове. В допълнение, можете да използвате директивата #include да съчетават няколко изходни файлове в голям източник файл, за да компилирате. (Информация за "включване" на файлове, съдържащи се в "директивата предпроцесорни и Pragma".)

директиви източник файлове важат само за този файл, и включени в неговите файлове. Освен това директивата се прилага само за тази част от файла, който се последва.

Pragma обикновено действа от споменатата част на оригиналния файл. Изпълнение определя действията, посочени в компилатора Прагма. (Насоки за компилатор описва подробно ефекта на специфична Pragma).

Следващият пример показва, че програмата C код, състоящ се от две входни файлове. След съставянето на изходните файлове могат да се съберат и да се използва като единствена програма.

Предполага се, че основната функция и Макс са в различни файлове, както и изпълнението на програмата започва от основните.

Линиите, които започват със знака номер (#) са директиви на Препроцесорът. Тези директиви информират Препроцесорът, че около 1 източник файл, който искате да подменя едно идентификатори, две и три от тези цифри. Въпреки това, тези директиви не са свързани по някакъв начин с изходния файл 2 (виж. По-долу), който се съставя индивидуално и след това да го конфигурирате с изходния файл 1.

Изходният файл 2 съдържа определението на функцията макс. Тази дефиниция отговаря макс повикване в изходния файл: 1. Имайте предвид, че определянето на макс съответства на стандарт в продължение на повече информация за тази нова форма и функция прототип се съдържа в глава "Опции".

Всеки C програма трябва да има основна функция, която трябва да има основните име. Основната функция е отправната точка на програмата. Тя обикновено управлява изпълнението на програмата, което води до най-подходящия момент други функции. Програмата обикновено завършва изпълнението му в края на функцията главен, макар че неговото изпълнение може да бъде прекъснато и в други точки на програмата, в зависимост от условията на нейната ефективност.

Програмата източник обикновено се състои от няколко функции, всяка от които изпълнява една или повече конкретни задачи. Основната функция може да доведе до тези функции да се изпълняват съответните си задачи. Когато основната призовава друга функция, тя предава тази функция и неговото изпълнение започва с първата функция изявление. Функцията връща след изпълнение на изявление за връщане, или след края на функцията.

Можете да декларират всяка функция, включително основните, с параметрите. Когато една функция извиква друг, викащата функция отнема от стойностите на параметрите му от своите посетители. Тези стойности се наричат ​​"аргументи". Можете да декларирате формални параметри в основните, така че те могат да вземат стойностите на програмата за околна среда. (Най-често тези аргументи се предават от командния ред при изпълнение на програмата.)







Традиционно, през първите три параметри на основната функция, декларирани с имената argc, argv и envp. параметър Argc е обявен за съхраняване на общия брой на предава в основни доводи. параметър Argv се декларира като масив от указатели, всеки елемент на която посочва низ представяне на прехвърля в основния аргумент. параметър Envp е показалец към масата на низови стойности, която определя по време на работа софтуер.

Операционната система посочва стойност argc необходимите параметри, argv и envp, потребителят въведе валидни аргументи към основното. Операционната система, а не на езика C, определя трансформация при преминаване аргументи в дадена система. Допълнителна информация по този въпрос се съдържа в инструкцията за компилатора.

За да се разбере как работи програмата в C, първо трябва да се разбере правилата, които регламентират използването на променливи и функции в програмата. За да разберем тези правила е важно да се разбере три основни понятия: "блок", "продължителност" и "обхват".

Имайте предвид, че въпреки че всички съставни оператори затворени в скоби, не всичко заграден в скоби е съставен оператор. Например, въпреки че спецификацията на масиви, структури и изброени елементи могат да бъдат поставени в скоби, те не се считат за част от оператора.

продължителност

"Продължителност" е периодът на програмата, в която има променлива или функция. Всички функции на програмата съществуват по време на програмата.

Продължителност променлива може да бъде вътрешен (местен) или външно (в световен мащаб). Елемент за местно време на действие ( "местен елемент") съхранява и определя стойността само в блока, който се определя и не са обявени. Местен контрол винаги се дава на ново място в паметта, всеки път, когато програмата е включен в устройството и съхранената стойност се губи, когато програмата излиза от блока. Ако действието на променливо време в световен мащаб (глобален елемент), тя съхранява и определя стойността за срока на действие на програмата.

Следните правила определят глобална променлива или местно време на действие:

- Променливи, които са обявени за външно (извън на всички програмни блокове) са винаги в световен мащаб продължителност.

обхват

"Обхват" елемент определя част от програмата, в която може да бъде посочен по име. Елементът е достъпна само в нейната сфера на действие, което може да се ограничи до (по реда на укрепване ограничения) файл, функционален блок или функция прототип, в който се появи.

Въпреки, че елементът на световното време на действие и "там" по време на изпълнението на първоначалната програма (например, външно обявена променлива или локална променлива се дефинира с ключовата дума, статична), той не може да бъде достъпен от всички части на програмата.

резюме

Играя с идентификатори в езика, използван за означаване на много видове различни обекти. Когато пишете програма на С идентификатори се използва за функции, променливи, формални параметри, както и други свързани мрежи компоненти, използвани в обектите на програмата. С ви позволява да използвате един ID за няколко елемента от програмата, ако следвате правилата, изложени в този раздел. (Определяне на ID, съдържаща се в глава "за елементите.")

Компилаторът определя "класове", за да се направи разграничение идентификаторите, използвани за различни видове елементи. За да се избегне конфликт, всеки името на класа трябва да е уникално, но в няколко класа може да се използва идентично наименование. Това означава, че можете да използвате ID за множество различни предмети, ако тези обекти са поставени в различни класове. Компилаторът може да идентифицира връзката от контекста на използване на идентификатор в програмата. Следващият списък описва видовете елементи, които можете да зададете имена за програмиране в C и всели наименуване:

Три елемент наречен студент в този пример не му противоречат, защото признаци на структури, елементи, конструкции, както и имената на променливите са в три различни класове. Контекст на използване на всеки елемент може да тълкуват правилно всеки ученик в облика на програмата.

Например, когато един студент се появява след ключовата дума за структура, компилаторът разбира, че това е знак на конструкцията. Когато се появи един студент, след като изберете компонентите на оператора (-.> Или), това име се отнася до компонент структура. В друг студент се отнася до структурна променлива.