Tablice i wskaźniki Sizeof

Oto mój przykładowy kod

#include<stdio.h>
void main()
{
 int arr[]={1,2,3,4,5,6};
 char *ptr,a;
 a='c';
 ptr=&a;
 int *ptr1,a1;
 a1=4;
 ptr1=&a1;
 printf("%d  %d   %d",sizeof(arr), sizeof(ptr1), sizeof(ptr));
}

Teraz, o ile rozumiem, rozmiar powie mi rozmiar wymagany do przechowywania zmiennej, teraz wyjście dla tego jest

24 4 4

Dlaczego rozmiararr=24, w końcu to tylko wskaźnik i powinien mieć rozmiar = 4?

Dzięki.

questionAnswers(5)

yourAnswerToTheQuestion