Аватар для Krist_ALL
10 / 10 / 2
Регистрация: 01.02.2010
Сообщений: 317

int main() или int main(void)?

04.04.2010, 14:32. Показов 73095. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Показать, что функция не принимает никаких аргументов можно с помощью void. В языке С++ (не в С) принятно, что пустые скобки равнозначны void. (В языке С пустые скобки означают что вы ничего не собщаете о наличии аргументов )
чем отличается :
не сообщаю о наличии аргументов
функция не принимает никаких аргументов.......
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.04.2010, 14:32
Ответы с готовыми решениями:

В чем разница между int main(){} и int main(void){}?
Только недавно начал изучать язык, и появилось несколько вопросов: 1) в чем разница между int main(){} и int main(void){}? 2) в чем...

Какой новые синтаксис: int main() VS. void main()
Долго не занимался программированием , но тут жена решила поучится , да и сам повторить ,так вот столкнулся с такой темой на 4pda может...

Какая разница между int main и void main?
какая разница между (int main) i (void main)?

21
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
17.04.2016, 21:13
Студворк — интернет-сервис помощи студентам
VityaNiko, черновик стандарта языка программирования C от 12 апреля 2011 года:
5.1.2.2.1 Program startup
The function called at program startup is named main. The implementation declares no prototype for this function. It shall be defined with a return type of int and with no parameters:
C
1
int main(void) { /* ... */ }
or with two parameters (referred to here as argc and argv, though any names may be used, as they are local to the function in which they are declared):
C
1
int main(int argc, char *argv[]) { /* ... */ }
or equivalent; or in some other implementation-defined manner.
То, о чём вы говорите - это как раз
some other implementation-defined manner
Но какая именно это "implementation-defined manner", не указывается, так что я вполне могу написать реализацию, в которой функция main принимает и 10 формальных параметров, но от этого такой вариант в стандарте не появится. Так что стандарт определяет только два возможных прототипа, остальное - особенность реализации конкретного компилятора.

Добавлено через 6 минут
Упс, мы же в разделе C++. Правда, там всё точно так же (пункт 3.6.1.2, в подпунктах 3.6.1.2.1 и 3.6.1.2.2 как рз указаны варианты, которые реализация должна предоставлять).
1
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
17.04.2016, 21:30
Цитата Сообщение от VityaNiko Посмотреть сообщение
Хэй, а почему забыли envp?
Его нет в стандарте. envp постфактум передают под линуксом, но не факт, что на других системах такой код заработает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.04.2016, 21:30
Помогаю со студенческими работами здесь

В каком случае надо начинать с int main() или с int _tmain( int argc, _TCHAR* argv[] ) и т.д.?
Не понимаю, с чего начинать. Заранее спс.

Использование int или void в качестве возвращаемого типа для main()
Когда использовать int main, а когда void main?

Почему в одних случаях пишут void main(), а в других случаях int main() {return 1;}
Препод мне доказывает, что void в main`е писать неправильно, а объяснить не может почему. Кто расскажет?)

От void main() к int main()
Ребят, недавно начал обучаться программированию на cpp на Windows. Перешёл на Mac ( Да, знаю, что никто его не любит и не уважает здесь, но...

int main() VS void main()
Вот товарищ Герберт Шилдт считает, что функция main() должна вид int main() { return 0; } Т.е. в случае удачи выполнения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Опции темы

Новые блоги и статьи
[golang] Двоичная куча, min-heap
alhaos 20.05.2026
Двоичная куча Двоичная куча — структура данных, которая всегда держит самый важный элемент наготове. Представьте очередь к хилеру в игре, и очередь из игроков в приоритете те у кого меньше. . .
[golang] Breadth-First Search
alhaos 19.05.2026
BFS (Breadth-First Search) — это базовый алгоритм обхода графа в ширину, который поуровнево исследует все связанные вершины. Он начинает с выбранной точки и проверяет всех соседей, прежде чем. . .
[golang] Алгоритм «Хак Госпера»
alhaos 17.05.2026
Алгоритм «Хак Госпера» Хак Госпера (Gosper's Hack) — алгоритм нахождения следующего по величине числа с тем же количеством установленных бит. Придуман Биллом Госпером в 1970-х, опубликован в. . .
Рисование бинарного древа до 6-го колена на js, svg.
russiannick 17.05.2026
<svg width="335" height="240" viewBox="0 0 335 240" fill="#e5e1bb"> <style> <!]> </ style> <g id="bush"> </ g> </ svg> function fn(){ let rost;/ / высота древа let xx=165,yy=210,w=256;
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов, содержащихся в реализации модуля. По-умолчанию все члены модуля доступны: module Foo let x = 10 let boo () = printfn "boo" . . .
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции. <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible". . .
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru