Перейти к содержанию
    

Столкнулся вот с таким переопределением типа:

typedef void (* sys_timeout_handler)(void *arg);

(Это из стека lwIP)

И никак не могу понять, что же из себя представляет переменная h, объявленная как

sys_timeout_handler h;

 

Буду признателен за подсказку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И никак не могу понять, что же из себя представляет переменная h, объявленная как

sys_timeout_handler h;

 

Буду признателен за подсказку.

Подсказка:

h - указатель на процедуру без типа: procedure(void *arg), где "procedure" - может быть любым именем.

Изменено пользователем GetSmart

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подсказка:

h - указатель на процедуру без типа: procedure(void *arg), где "procedure" - может быть любым именем.

Спасибо огромное

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На что, простите?

процедуру/функцию без возваращаемого типа = просто на процедуру :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Столкнулся вот с таким переопределением типа:

может будет полезно - http://unixwiz.net/techtips/reading-cdecl.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

процедуру/функцию без возваращаемого типа = просто на процедуру :)
В языке Си нет понятия "процедура".

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В языке Си нет понятия "процедура".

Чем понятие "процедура" разительно отличается от понятия "функция" ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Давным-давно в паскале процедурой называлась функция, которая не возвращает переменных, ключевый слова разные были..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Давным-давно в паскале процедурой называлась функция, которая не возвращает переменных, ключевый слова разные были..

Поклоники кошерных функций считают, что функции, в отличие от процедур, еще не должны получать параметры по ссылкам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знал :lol:
К чему этот смайл?

 

Давным-давно в паскале процедурой называлась функция, которая не возвращает переменных, ключевый слова разные были..
Мы же вроде не о Паскале говорим.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да все знают. И ответ топикстартеру был понятен.

Просто придрались к слову, потому и смайл

 

P.S. Sorry, не сдержался.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К чему этот смайл?

Дорогой andrew_b, понятия процедуры и функции есть во всех языках программирования. По сути это одно и то же понятие, только отличаются возвратом переменной (типа). В паскале есть даже индивидуальные ключевые слова для этих понятий, в си нет именно ключевых слов, но понятия есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дорогой andrew_b, понятия процедуры и функции есть во всех языках программирования.
Речь идёт конкретно про Си. Реквестирую цитату из стандарта Си, где определяется "процедура".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...