Größe von Arrays und Zeigern

Hier ist mein Beispielcode

#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));
}

Soweit ich weiß, gibt size of die Größe an, die zum Speichern der Variablen erforderlich ist, jetzt ist die Ausgabe für diese Variable

24 4 4

Warum ist die Größe vonarr=24ist es doch nur ein Zeiger und sollte size = 4 haben?

Vielen Dank.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage