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