str - массив из 10 указателей на char
*/
Си - char *str[10]
___ - str: [10]*char
/*
fp - указатель на функцию, которая получает int и указатель на float и возвращает указатель на char
*/
Си - char *(*fp)(int, float*)
___ - fp: *(int, *float): *char
/*
signal - функция, которая принимает int и fp(указатель на функцию, которая принимает int и возвращает void) и возвращает указатель на функцию, которая принимает int и возвращает void
*/
Си - void (*signal(int, void (*fp)(int)))(int)
___ - signal(int, fp: *(int): void): *(int): void
/*
z - массив из 5 указателей на функцию, которая принимает массив int и указатель на char и возвращает указатель на функцию, которая принимает int и возвращает int
*/
Си - int (*(*z[5])(int[], char*))(int)
___ - z: [5]*([]int, *char): *(int): int
Это что ? Что куда ты перевел?
В комментарии -описание. Первая строка - объявление на С. А вторая что?
Последний пример плохо читается, приоритет [] над : неочевиден
мне обьявления размерности перед типом жутко не нравятся, оно какое-то неочевидное. Ну т.е. [10]*char
Обсуждают сегодня