Ну кому в голову пришел такой язык?
Оригинальный код:
((void (*)())0)();
Чтобы понять происходящее, я его сначала откомпилировал, затем дизассемблировал, получилось такое:
xor eax,eax
call eax
Затем я это дело разделил собственно на объявление указателя на функцию и на вызов:
typedef void (*fptr)();
void main(){
((fptr)0)();
}
Особо бесит указание имени объявляемого типа в середине объявления. Очень логично. Это как если бы присвоение var1=var2 в стиле va(=var1)r2;
((void (*)())0)();
Чтобы понять происходящее, я его сначала откомпилировал, затем дизассемблировал, получилось такое:
xor eax,eax
call eax
Затем я это дело разделил собственно на объявление указателя на функцию и на вызов:
typedef void (*fptr)();
void main(){
((fptr)0)();
}
Особо бесит указание имени объявляемого типа в середине объявления. Очень логично. Это как если бы присвоение var1=var2 в стиле va(=var1)r2;

no subject
Приведем прием (позаимствованный из журнала "Communications of
the ACM"), позволяющий прояснить смысл описания. Описание на Си переводится в описа-
ние в стиле языка Algol-68. Далее
ref ТИП означает "указатель на ТИП" proc() ТИП "функция, возвращающая ТИП" array of ТИП "массив из элементов ТИПа" x: ТИП "x имеет тип ТИП"Приведем несколько примеров, из которых ясен и способ преобразования:
int (*f())(); означает (*f())() : int *f() : proc() int f() : ref proc() int f : proc() ref proc() intто есть f - функция, возвращающая указатель на функцию, возвращающую целое.
int (*f[3])(); означает (*f[])() : int *f[] : proc() int f[] : ref proc() int f : array of ref proc() intf - массив указателей на функции, возвращающие целые. Обратно: опишем g как указа-
тель на функцию, возвращающую указатель на массив из 5и указателей на функции, возв-
ращающие указатели на целые.
g : ref p() ref array of ref p() ref int *g : p() ref array of ref p() ref int (*g)() : ref array of ref p() ref int *(*g)() : array of ref p() ref int (*(*g)())[5] : ref p() ref int *(*(*g)())[5] : p() ref int (*(*(*g)())[5])(): ref int *(*(*(*g)())[5])(): int int *(*(*(*g)())[5])();Помнится, когда-то писал программку, которая по этому алгоритму "раскручивает" навёрнутые описания. А то одни скобочки. Лисп блять.