Поясните синтаксис

Подскажите, как интерпретировать следующее объявление функции

void foor (int arr[*]);

в коде:

#include <stdio.h>

void foor (int arr[*]);

int main (void)
{
    int arr [10];
    foor (arr); 
    return 0;
}


void foor (int arr [10])
{
    for (int i = 10; i < 10; ++i)
        arr [i] = 0;
}

Данный код компилируется без ошибок. как можно интерпретировать параметр int arr[*] ? зачем нужна звездочка в квадратных скобках?


Ответы (1 шт):

Автор решения: KoVadim

Связанные вопросы

Краткий пересказ. Представьте себе такой прототип функции

int sum(int n, int a[n]);

Но когда обявляются прототипы (в хедерах), то имена параметров часто упускаются. Но тут есть завязка на это имя. И как раз в этом случае и испольуется такой синтаксис

int sum(int, int a[*]);
→ Ссылка