Другие языки программирования и технологии

В чем разница между функциями, которые возвращают значения и которые не возвращают? Не вникаю в смысл слова "возвращает"

Пустая функция, которая ничего "не возвращает".
void emptyFunc()
{
return; // Выход из функции (под-программы) , функция ничего не возвращает.
}
Вызвать её просто: emptyFunc();
Она лишь выполняет какую-либо задачу, которая не отдает никаких результатов вызвавшей её программе.
Никаких данных в регистры она не кладет, а значит и вызывающей программе оттуда брать нечего, ибо тип void.
--
Функция, которая просто возвращает 1:
int returnFunc()
{
return 1; // Здесь в регистр процессора помещается этот самый возврат
}

Компилятор сделал это примерно так:
00C613DE mov eax,1

Затем, содержимое регистра eax может быть использовано для каких либо целей вызывающей программой.
Например вызов и присвоение полученного результата переменной "newi":
newi = returnFunc(); // эта функция вернет 1 и поместит 1 в переменную

Компилятор делает "перемещение" содержимого из регистра eax(в него функция поместила 1) в участок памяти переменной newi:
002A1428 mov dword ptr [newi],eax

Вот такой процесс, хоть и сложно объяснил xD
КШ
Костя Шкретов
420
Лучший ответ
> и которые не возвращают

Таких попросту не бывает в природе.
Михаил Фёдоров
Михаил Фёдоров
32 502
пример 5+5
ответ равен 10, но языку допустим паскаль не понятно куда он ответ запишит куда возвратит,
пример возвращения
a:=5+5;
ответ 10 он возвратил в переменную а
тоесть получилось так
a=10;
короче в переменную записывается ответ, тоесть возвращает
Володя Я
Володя Я
2 145
например: сумма двух целых чисел есть целое число, т. е. функция которая должна
сложить 2 целых числа должна вернуть целое число.
А которые не возвращают например вывод строки на экран
Сергей Титов
Сергей Титов
1 811