Использование типа void в качестве возвращаемого значения функцией main - C (СИ)

Узнай цену своей работы

Формулировка задачи:

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

Решение задачи: «Использование типа void в качестве возвращаемого значения функцией main»

textual
Листинг программы
int main();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5
Похожие ответы