Что означает «main ()», помещенный в начало программ на C? - PullRequest
0 голосов
/ 11 июля 2019

Я просто хочу подробно изучить основы и то, к чему относятся некоторые простые коды.

Мне удалось найти краткое описание на https://www.dummies.com/programming/c/looking-at-the-c-language/, но я не думаю, что полностью понимаю его с помощьюпомощь только этого.

1 Ответ

1 голос
/ 11 июля 2019

Это отправная точка для вашей программы. Per 5.1.2.2.1 Запуск программы стандарта C :

Функция, вызываемая при запуске программы, называется main.Реализация не объявляет прототип для этой функции.Он должен быть определен с типом возврата int и без параметров:

     int main(void) { /* ... */ }

или с двумя параметрами (именуемыми здесь argc и argv, хотя могут использоваться любые имена,поскольку они локальны для функции, в которой они объявлены):

     int main(int argc, char *argv[]) { /* ... */ }

или эквивалент;или каким-либо другим способом, определяемым реализацией.

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

  • Значение argc должно быть неотрицательным.
  • argv[argc] должен быть нулевым указателем.
  • Если значение argc больше нуля, элементы массива от argv[0] до argv[argc-1] включительно должны содержать указатели на строки, которым перед запуском программы задаются значения, определяемые реализацией хост-средой.Намерение состоит в том, чтобы предоставить программе информацию, определенную до ее запуска, из другого места в размещенной среде.Если среда хоста не может предоставлять строки с буквами как в верхнем, так и в нижнем регистре, реализация должна обеспечивать получение строк в нижнем регистре.
  • Если значение argc больше нуля, строкаобозначенный argv[0] представляет название программы;argv[0][0] должен быть нулевым символом, если имя программы недоступно из среды хоста.Если значение argc больше единицы, строки, на которые указывают argv[1] - argv[argc-1], представляют параметры программы.
  • Параметры argc и argv и строки, на которые указываетмассив argv должен изменяться программой и сохранять свои последние сохраненные значения между запуском программы и завершением программы.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...