C / C ++ int [] vs int * (wskaźniki a notacja tablicowa). Jaka jest różnica?

Wiem, że tablice w C są tylko wskaźnikami do sekwencyjnie przechowywanych danych. Ale jakie różnice oznaczają różnicę w notacji [] i *. Mam na myśli w WSZYSTKIM możliwym kontekście użycia. Na przykład:

char c[] = "test";

jeśli podasz tę instrukcję w ciele funkcji, przydzieli ciąg na stosie

char* c = "test";

wskaże segment danych (tylko do odczytu).

Czy możesz wymienić wszystkie różnice między tymi dwoma notacjami we WSZYSTKICH kontekstach użycia, aby stworzyć jasny ogólny widok.

questionAnswers(5)

yourAnswerToTheQuestion