Использование типа void в качестве возвращаемого значения функцией main - C (СИ)
Формулировка задачи:
Здравствуйте. Надеюсь получить внятный ответ на то, почему все категорически рекомендуют использовать int main().
Для примера возьмем простейшую программу, которая что-то выводит на экран консоли.
Моя логика такова: в этой программе мы ничего возвращать не собираемся. Пишем void - это значит, что мы не резервируем ничего в памяти компьютера для возвращаемого значения. Мы возвращаем ничего, пустоту. В конце мы пишем return и указываем данные типа void - то есть указываем пустоту. Конфликта никакого нет. Функция отрабатывает и передает управление
командной строке.
Если же мы используем int, то мы занимаем кусок памяти, куда поместится двухмиллиардное число (примерно). Но зачем мне в этой программе использовать такое количество памяти? Она же все равно остается неиспользованным.
Еще очень важный вопрос по поводу возвращения функцией нуля. Этот нуль записывается в память или он просто указывает на то, что надо передать управление командной строке? Если он действительно записывается в память, то тогда вопрос об использовании int'а отпадает сам собой. Но тогда мне непонятно, почему данная программа работает корректно, ведь тогда должен был быть конфликт между описанным типом возвращаемого значения и тем, который main действительно возвращает.
#include <stdio.h> void main(void) { printf("ttt"); return; }
Решение задачи: «Использование типа void в качестве возвращаемого значения функцией main»
textual
Листинг программы
int main();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д