Я знаю, что массивы в C - это просто указатели на последовательно сохраненные данные. Но какие различия подразумевают различие в обозначениях [] и *. Я имею в виду во ВСЕХ возможных контекстах использования. Например:
char c[] = "test";
если вы предоставите эту инструкцию в теле функции, она выделит строку в стеке, пока
char* c = "test";
будет указывать на сегмент данных (только для чтения).
Можете ли вы перечислить все различия между этими двумя обозначениями во всех контекстах использования, чтобы сформировать четкое общее представление.