Void main c что это

от admin

Main function

Every C program coded to run in a hosted execution environment contains the definition (not the prototype) of a function named main , which is the designated start of the program.

int main (void) <body > (1)
int main ( int argc , char * argv [ ] ) <body > (2)
/* another implementation-defined signature */ (since C99) (3)

Contents

[edit] Parameters

argc Non-negative value representing the number of arguments passed to the program from the environment in which the program is run.
argv Pointer to the first element of an array of argc + 1 pointers, of which the last one is null and the previous ones, if any, point to strings that represent the arguments passed to the program from the host environment. If argv [ 0 ] is not a null pointer (or, equivalently, if argc > 0), it points to a string that represents the program name, which is empty if the program name is not available from the host environment.

The names argc and argv stand for «argument count» and «argument vector», and are traditionally used, but other names may be chosen for the parameters, as well as different but equivalent declarations of their type: int main ( int ac, char ** av ) is equally valid.

A common implementation-defined form of main is int main ( int argc, char * argv [ ] , char * envp [ ] ) , where a third argument, of type char ** , pointing at an array of pointers to the execution environment variables, is added.

[edit] Return value

If the return statement is used, the return value is used as the argument to the implicit call to exit() (see below for details). The values zero and EXIT_SUCCESS indicate successful termination, the value EXIT_FAILURE indicates unsuccessful termination.

[edit] Explanation

The main function is called at program startup, after all objects with static storage duration are initialized. It is the designated entry point to a program that is executed in a hosted environment (that is, with an operating system). The name and type of the entry point to any freestanding program (boot loaders, OS kernels, etc) are implementation-defined.

The parameters of the two-parameter form of the main function allow arbitrary multibyte character strings to be passed from the execution environment (these are typically known as command line arguments). The pointers argv[1] .. argv[argc-1] point at the first characters in each of these strings. argv[0] (if non-null) is the pointer to the initial character of a null-terminated multibyte strings that represents the name used to invoke the program itself (or, if this is not supported by the host environment, argv[0][0] is guaranteed to be zero).

If the host environment cannot supply both lowercase and uppercase letters, the command line arguments are converted to lowercase.

The strings are modifiable, and any modifications made persist until program termination, although these modifications do not propagate back to the host environment: they can be used, for example, with strtok .

The size of the array pointed to by argv is at least argc+1 , and the last element, argv[argc] , is guaranteed to be a null pointer.

The main function has several special properties:

If the main function executes a return that specifies no value or, which is the same, reaches the terminating } without executing a return , the termination status returned to the host environment is undefined.

int main() vs void main() vs int main(void) in C & C++

The difference between int main() and int main(void)

Both int main() and int main(void) may look like same at the first glance but there is a significant difference between the two of them in C but both are same in C++.

In C, a function without any parameter can take any number of arguments. For example, a function declared as ‘foo()’ can take any number of arguments in C (calling foo(), foo(1), foo(‘A’,1) will not give any error).

The above code runs fine without giving any error because a function without any parameter can take any number of arguments but this is not the case with C++. In C++, we will get an error. Let’s see.

Running the above code will give us an error because we can’t pass any argument to the function ‘foo’.

However, using foo(void) restricts the function to take any argument and will throw an error. Let’s see.

The above code will give us an error because we have used ‘foo(void)’ and this means we can’t pass any argument to the function ‘foo’ as we were doing in the case of ‘foo()’.

So, both foo(void) and foo() are same in C++ but not in C. The same is the case with ‘main’ function also. So, the preferred form to use is int main(void) if main is not taking any argument.

Difference between int main() and void main() and main()

Like any other function, main is also a function but with a special characteristic that the program execution always starts from the ‘main’. ‘int’ and ‘void’ are its return type. So, let’s discuss all of the three one by one.

Int main ()

В отмеченном блоке объявлены переменные e,g,f,q которые будут уничтожены после выполнения составного оператора. Отметим, что переменная qявляется локальной в составном операторе, т.е. она никоим образом не связана с переменной q объявленной вначале функции main() с типом int.

Структура С++ программ.Обратите внимание, что первые примеры программ С++ придерживаются одного и того же формата: начинаются с одного или нескольких операторов #include, содержат строку void main(void), а затем набор операторов, сгруппированных между левой и правой фигурными скобками. Из этого урока вы поймете, что эти несколько запугивающие операторы реально очень просто освоить. К концу данного урока вы изучите следующие основные концепции: Оператор #include обеспечивает преимущества использования заголовочных файлов, которые содержат операторы C++ или программные определения. Основная часть программы на C++ начинается с оператора void main(void).

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

Ранее мы создали на C++ программу FIRST.CPP, которая содержала следующие операторы:

#include <iostream.h>

Void main(void)

cout << «Учимся программировать на языке С++!»;

Каждая программа начинается с оператора #include, заставляет компилятор включить содержимое заданного файла в начало вашей программы. В данном случае компилятор включит содержимое файла iostream.h. Файлы с расширением h, которые вы включаете в начало (или заголовок) вашей программы, называются заголовочными файлами. Если вы посмотрите на каталог, содержащий файлы компилятора С++, то можно увидеть подкаталог с именем INCLUDE, в котором находятся разные заголовочные файлы. Каждый заголовочный файл содержит определения, предоставляемые компилятором для различных операций. Например, существует заголовочный файл, который содержит определения для математических операций, другой заголовочный файл описывает файловые операции и т. д. Заголовочные файлы представляют собой файлы в формате ASCII, следовательно, вы можете вывести их содержимое на экран или принтер.

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

Таким образом, каждая программа на C++ начинается с одного или нескольких операторов #include. Эти операторы указывают компилятору включить содержимое заданного файла (заголовочного файла) в вашу программу, как если бы программа содержала операторы, которые находятся во включаемом файле. Заголовочные файлы содержат определения, используемые компилятором для операций различных типов. Существуют заголовочные файлы, которые определяют операции ввода/вывода C++ (в/в) и системные функции, например, функции, возвращающие текущие дату и время, и многое другое.

При создании программы на C++ ваш исходный файл будет содержать множество операторов. Причем каждая программа на C++ имеет один вход — оператор, с которого начинается выполнение программы, — заголовок главной программы. В программах на C++ оператор void main(void) является заголовком главной программы и указывает стартовую точку. По мере того как ваши программы становятся больше и сложнее, вы будете делить их на несколько небольших легко управляемых частей. При этом оператор void main(void) указывает начальные (или главные) операторы программы — часть программы, которая выполняется первой.

Таким образом, исходные файлы языка C++ могут содержать очень много операторов, причем оператор void main(void) определяет главную программу, содержащую первый выполняемый оператор. Все программы на C++ должны всегда содержать один и только один оператор с именем main().

Как только ваша программа становится более сложной, вы должны разделить ее на небольшие более легко управляемые части, называемые функциями. Функция представляет собой простой набор операторов внутри программы, выполняющих определенную задачу. Например, при создании программы платежных документов, вы могли бы создать функцию с именем salary, вычисляющую оклад служащих. Аналогичным образом, если вы пишете математическую программу, вы могли бы создать функции с именами square_root или cube, которые возвращают результат работы программы. Если ваша программа использует функцию, функция выполняет свою задачу и затем возвращает свой результат программе, которая ее вызвала.

Каждая функция в вашей программе должна иметь уникальное имя. А каждая программа имеет, по крайней мере, одну функцию — с именем main. Программы используют слово void для указания того, что функция не возвращает значения или не имеет значений, передаваемых в нее. Поэтому необходимо размещать слово void перед main(), как показано ниже:

void main (void) //———-> Программа не возвращает значение

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

Все программы на C++ выводили сообщения на экран. Чтобы вывести сообщение, программы использовали cout и двойной знак «меньше» (<< «Привет, C++!»;).

Слово cout представляет собой выходной поток, который C++ назначает на стандартное устройство вывода операционной системы. По умолчанию операционная система назначает стандартное устройство вывода на экран дисплея. Чтобы вывести сообщение на экран, вы просто используете двойной символ «меньше» (называемый оператором вставки) с выходным потоком cout.

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

cout << «Это сообщение появляется первым,»;

cout << » а за ним следует настоящее сообщение.»;

операционная система выводит поток символов следующим образом:

Это сообщение появляется первым, а за ним следует настоящее сообщение.

В C++ можно использовать с cout специальные символы для вывода табуляции или новой.

До сих пор созданные вами программы использовали cout для вывода символьных строк (букв и чисел, взятых в кавычки). Теперь вы узнаете, что можно также использовать для вывода чисел. Рассмотрим программу 1001.СРР, котораявыводит число 1001 на ваш экран:

#include<iostream.h>

Void main c что это

C# applications have an entry point called Main Method. It is the first method which gets invoked whenever an application started and it is present in every C# executable file. The application may be Console Application or Windows Application. The most common entry point of a C# program is static void Main() or static void Main(String []args) .

Different Declaration of Main() Method

Below are the valid declarations of Main Method in a C# program:

  1. With command line arguments: This can accept n number of array type parameters during the runtime.

Example:

Output:

Meaning of the Main Syntax:

static: It means Main Method can be called without an object.
public: It is access modifiers which means the compiler can execute this from anywhere.
void: The Main method doesn’t return anything.
Main(): It is the configured name of the Main method.
String []args: For accepting the zero-indexed command line arguments. args is the user-defined name. So you can change it by a valid identifier. [] must come before the args otherwise compiler will give errors.

Example:

Output:

Example:

Output:

Example:

Compiler Error:

More than one protection modifier specified

Example:

Output:

Example:

Output:

Example:

Output:

Example:

Output:

Example:

Output:

Important Points:

  • The Main() method is the entry point a C# program from where the execution starts.
  • Main() method must be static because it is a class level method. To invoked without any instance of the class it must be static. Non-static Main() method will give a compile-time error.
  • Main() Method cannot be overridden because it is the static method. Also, the static method cannot be virtual or abstract.
  • Overloading of Main() method is allowed. But in that case, only one Main() method is considered as one entry point to start the execution of the program.

Читать:
Чем приклеить рамку ноутбука к дисплею

Похожие статьи