Do czego powraca sizeof (& array)?

Zgodnie z pytaniem:Dlaczego adres tablicy jest równy jej wartości w C?

#include <stdio.h>
#define N 10    
char str2[N]={"Hello"};
int main(){
    printf("sizeof(str2): %d bytes\n", sizeof(str2));
    printf("sizeof(&str2): %d bytes\n", sizeof(&str2));
    return 0;
}

Wydajność:

sizeof(str2): 10 bytes
sizeof(&str2): 4 bytes

wiem tostr2 sam jest adresem pierwszego elementu w tablicystr2. I to kiedystr2 jest argumentemsizeof zwraca rozmiar całej tablicy str2.

Dodatkowo,&str2 jest również adresem pierwszego elementu arrstr2 ale z innego typu (char (*)[N] == wskaźnik do tablicy). Ale jak to zrobić&str2 zachowuj się, gdy jest to argumentsizeof?

questionAnswers(3)

yourAnswerToTheQuestion