Как в приведённом фрагменте кода будет задействован указанный typedef?
typedef int collection[1];
set(n,c)
int n;
collection c;
{
c[0] = 0;
}
num(n)
int n;
{
collection candidates;
set(n, candidates);
}
Здесь приведена функция num в формате K&R C. Как я могу проверить её работоспособность в Linux? Меня смущает, что candidates объявлен без индекса, поэтому не очевидно, как здесь задействуется typedef. Вопрос создал, потому что не знаю, как проверить работу typedef. Это - фрагмент кода из книги, поэтому возможна ошибка.
Update
Я дописал код в мобильном приложении Coding C от Kvass Yu:
#include<stdio.h>
typedef int collection[1];
set(n,c)
int n;
collection c;
{
c[0] = 0;
}
num(n)
int n;
{
collection candidates;
set(n, candidates);
printf("%d", candidates[0]);
}
int main()
{
num(1);
return 0;
}
Приложение компилируется и выводит 0. Мне не ясно, как тут применяется typedef, если в нём указано collection[1] заменять на int, или я не прав? Не понятно, какой тип в итоге будет у candidates. Отказаться от K&R не получится, потому что я с ним не знаком.