реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Непонятный typedef
Harvester
сообщение Oct 15 2009, 11:30
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Столкнулся вот с таким переопределением типа:
Код
typedef void (* sys_timeout_handler)(void *arg);

(Это из стека lwIP)
И никак не могу понять, что же из себя представляет переменная h, объявленная как
Код
sys_timeout_handler h;


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


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Oct 15 2009, 11:33
Сообщение #2


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Harvester @ Oct 15 2009, 17:30) *
И никак не могу понять, что же из себя представляет переменная h, объявленная как
Код
sys_timeout_handler h;


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

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

Сообщение отредактировал GetSmart - Oct 15 2009, 11:35


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Harvester
сообщение Oct 15 2009, 11:47
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Цитата(GetSmart @ Oct 15 2009, 14:33) *
Подсказка:
h - указатель на процедуру без типа: procedure(void *arg), где "procedure" - может быть любым именем.

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


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Oct 15 2009, 11:50
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(GetSmart @ Oct 15 2009, 15:33) *
h - указатель на процедуру без типа

На что, простите?
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Oct 15 2009, 11:52
Сообщение #5


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(andrew_b @ Oct 15 2009, 17:50) *
На что, простите?

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


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
kurtis
сообщение Oct 15 2009, 11:52
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



Цитата(Harvester @ Oct 15 2009, 14:30) *
Столкнулся вот с таким переопределением типа:

может будет полезно - http://unixwiz.net/techtips/reading-cdecl.html
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Oct 15 2009, 12:04
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(GetSmart @ Oct 15 2009, 15:52) *
процедуру/функцию без возваращаемого типа = просто на процедуру smile.gif
В языке Си нет понятия "процедура".


Go to the top of the page
 
+Quote Post
kurtis
сообщение Oct 15 2009, 12:08
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



Цитата(andrew_b @ Oct 15 2009, 15:04) *
В языке Си нет понятия "процедура".

Чем понятие "процедура" разительно отличается от понятия "функция" ?
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Oct 15 2009, 12:10
Сообщение #9


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(andrew_b @ Oct 15 2009, 18:04) *
В языке Си нет понятия "процедура".

Не знал lol.gif


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
Flexz
сообщение Oct 15 2009, 12:12
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 9-10-08
Из: Московская обл.
Пользователь №: 40 797



Давным-давно в паскале процедурой называлась функция, которая не возвращает переменных, ключевый слова разные были..
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 15 2009, 12:31
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Flexz @ Oct 15 2009, 15:12) *
Давным-давно в паскале процедурой называлась функция, которая не возвращает переменных, ключевый слова разные были..

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Oct 15 2009, 12:36
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(GetSmart @ Oct 15 2009, 16:10) *
Не знал lol.gif
К чему этот смайл?

Цитата(Flexz @ Oct 15 2009, 16:12) *
Давным-давно в паскале процедурой называлась функция, которая не возвращает переменных, ключевый слова разные были..
Мы же вроде не о Паскале говорим.
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Oct 15 2009, 12:55
Сообщение #13


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Да все знают. И ответ топикстартеру был понятен.
Просто придрались к слову, потому и смайл

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


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Oct 15 2009, 13:07
Сообщение #14


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(andrew_b @ Oct 15 2009, 18:36) *
К чему этот смайл?

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


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Oct 15 2009, 13:23
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(GetSmart @ Oct 15 2009, 17:07) *
Дорогой andrew_b, понятия процедуры и функции есть во всех языках программирования.
Речь идёт конкретно про Си. Реквестирую цитату из стандарта Си, где определяется "процедура".
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 20:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01474 секунд с 7
ELECTRONIX ©2004-2016