Текст программы имеет определенную структуру:
1. заголовок
2. включение необходимых внешних файлов
3. ваши определения для удобства работы
4. объявление глобальных переменных
Перед использованием переменной в Си её необходимо объявить! Т.е. указать компилятору какой тип данных она может хранить и как она называется.
Глобальные переменные объявляются, вне какой либо функции. Т.е. не после фигурной скобки {. Они доступны в любом месте программы, значит можно читать их значения и присваивать им значения там, где требуется.
5. описание функций - обработчиков прерываний
6. описание других функций используемых в программе
7. функция main - это единственный обязательный пункт !
Это не жесткий порядок, а ориентировочный!
Иногда п. 6 - это прототипы функций, а сами функции описываются полностью после п. 7.
Прототип функции - показывает образец того, как применять функцию в программе, какие значения в нее передаются и, если она возвращает какое-то значение, то прототип указывает тип возвращаемых данных. Прототип не имеет скобок { }, а после скобок ( ) ставится знак ;.
Функция - имеет { "тело" } в фигурных скобках. Тело - это код на Си определяющий то, что делает функция. Знак «;» после функции не ставится.
Программа на Си начинает работу с функции main(), по необходимости из main() вызываются другие функции программы, по завершении работы функции программа возвращается в main(), в то место, откуда функция была вызвана.
main(){
... какой то код программы ...
вызов функции_1; /* программа перейдет в функцию_1 строка программы */
// будет выполнятся после
// возврата из функции_1
... какой то код программы ...
}
Функции могут вызываться не только из main(), но и из других функций.