2015-01-20 2 views

ответ

4
int *a(); 

является декларация функции, которая принимает неопределенное (но фиксированное) количество аргументов и возвращает int *.

Он отличается:

int *a(void); 

который является объявлением функции, которая не принимает никаких аргументов и возвращает int *.

Бывшая декларация является устаревшей функцией, используется вторая форма для объявления функции без параметра.

+1

Я этого не знал. Я действительно не –

+0

@iharob без проблем, этот сайт всегда является хорошим местом для изучения нового материала – ouah

+0

, тогда в чем смысл - int (* a)() ;? – Avital

1

вы можете использовать команду cdecl набрав

explain int *a() 

и вы получите

cdecl> explain int *a() 
declare a as function returning pointer to int 
Смежные вопросы