Оператор sizeof возвращает разные значения для c & c ++?

Массив символов определяется глобально, а структура с тем же именем определяется внутри функции. Почему оператор sizeof возвращает разные значения для c & amp; с ++?

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

// возвращает 4 в C ++ и 13 в C

Ответы на вопрос(2)

Ваш ответ на вопрос