¿Por qué el tamaño del puntero int es diferente del tamaño de la matriz int? [duplicar]

Esta pregunta ya tiene una respuesta aquí:

¿Cómo encontrar el 'sizeof' (un puntero que apunta a una matriz)? 13 respuestas

Vamos a ser el siguiente código:

int x;
int *p = &x;
int t[3];

Entonces sizeof devuelve:

sizeof(x) -> 4
sizeof(p) -> 8
sizeof(t) -> 12

Supongo quesizeof(t) es el resultado de3 * sizeof(int). Pero comot es un puntero a su primer elemento, su tamaño debe sersizeof(p).

Por quésizeof(t) devuelve el tamaño del bloque de memoria que representa la matriz?

Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta