sizeof-Operator gibt unterschiedliche Werte für c & c ++ zurück?

Ein Zeichenarray wird global definiert und eine Struktur mit demselben Namen wird innerhalb einer Funktion definiert. Warum gibt der Operator sizeof unterschiedliche Werte für c & c ++ zurück?

char S[13];
void fun()
{
    struct S
    {
        int v;
    };
    int v1 = sizeof(S);
}

// gibt 4 in C ++ und 13 in C zurück

Antworten auf die Frage(2)

Ihre Antwort auf die Frage