LINUX.ORG.RU

Утилита для обяснения Си-обьявлений


0

2

В Дебиане давно пользовался утилитой, которая работала приблизительно так:

==> explain int A[8]
declare array(8) of integers
==> explain char f(int a, float b)
declare function (arguments a as integer, b as float) returning char
==> не_помню_название_команды array(8) of array of pointers to int
(*int) A[8][]

И так далее. Утилита полезная тем, что с её помощю пожно понять сложные сишные обявления.

Вопрос на засыпку : кто-нибуть знает название сей утилиты ? :)

Ответ на: комментарий от rumly111

Можно примеры таких объявлений? Было бы интересно проверить свою квалификацию.

P.S. Заранее спасибо.

trex6 ★★★★★
()
Ответ на: комментарий от trex6

Точно уже не помню, а посмотреть пока не могу. Но нужно было обявить масив указателей на функции, возвращающие указатель на воид. У функций 2 аргумента.

С cdecl удалось решить проблему легко :)

rumly111
() автор топика
Ответ на: комментарий от rumly111

> Но нужно было обявить масив указателей на функции, возвращающие указатель на воид. У функций 2 аргумента.

void *(f[])(int, int);

geekless ★★
()
Ответ на: комментарий от Deleted

> char (*(*(* const x[3])())[5])(int)

А теперь покажи программу, где реально используются такие декларации.

geekless ★★
()
Ответ на: комментарий от note173

> void *(f*[])(int, int)

Не знаю, какой это язык, но точно не Си.

geekless ★★
()
Ответ на: комментарий от note173

почти :)

void* (*f[15])(int,int)

Такой вариант тоже катит, но это вроде не по стандарту

void* (f[15])(int,int)

rumly111
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.