Обсуждение:Подпрограмма

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Передача параметров по значению/ссылке[править код]

Откаченное мной изменение — ошибочно. В языке C НЕТ передачи параметров по ссылке. Такая передача может быть в нём СМОДЕЛИРОВАНА с помощью передачи по значению:

 int func(int* param)
 {
   *param = ...
 }
 ...
 a = func(&b);

— это не передача по ссылке! Это передача адреса переменной по значению. Потому что в вызове используется явная операция взятия адреса, а в теле функции — явная операция обращения по адресу.

Передача параметров по ссылке появилась только в C++, где это пишется так:

 int func(int &param)
 {
   param = ...
 }
 ...
 a = func(b);

dm обсужд. 06:28, 12 марта 2007 (UTC)[ответить]

Вложение подпрограмм[править код]

Наверное, надо подробнее объяснить, что это такое. Я не понимаю, почему в С это невозможно. infovarius 11:24, 25 сентября 2008 (UTC)[ответить]

Вообще-то, там вполне понятно сказано: потому что язык это запрещает. --dm обсужд. 17:02, 25 сентября 2008 (UTC)[ответить]

Макросы[править код]

В чем разница между процедурой и макросом?

Небольшая ошибка. В языке PASCAL комментарии отделяются не двойным сленгом (//), а фигурными скобками ({}). Непонятно, как команды из командной строки собираются в пакет?

Яков.  83.149.48.70 15:28, 3 октября 2012 (UTC)[ответить]