C / C ++ int [] vs int * (punteros contra notación de matriz). ¿Cuál es la diferencia?

Sé que las matrices en C son solo punteros a datos almacenados secuencialmente. Pero qué diferencias implican la diferencia en notación [] y *. Me refiero en TODO posible contexto de uso. Por ejemplo:

char c[] = "test";

si proporciona esta instrucción en un cuerpo de función, asignará la cadena en una pila mientras

char* c = "test";

apuntará a un segmento de datos (solo lectura).

¿Puede enumerar todas las diferencias entre estas dos notaciones en TODOS los contextos de uso para formar una vista general clara?

Respuestas a la pregunta(5)

Su respuesta a la pregunta