[완료] g++로 컴파일할 때, struct 키워드를 타입에 적지 않아도 컴파일 되는 이유가 궁금합니다.

vudghkzm의 이미지

struct A {
    int i;
};
 
int main() {
    // 1.
    // struct A a;
 
    // 2.
    // A a;
 
    return 0;
}

위 코드를 gcc로 빌드하려면 1.과 같이 코드를 적어야 되더라구요.
그런데 g++로 빌드하려면 1, 2 둘 중에 아무거나 적어도 되더라구요.

이렇게 차이가 발생하는 근본적인 원인이 무엇인지 궁금하네요.

Scarecrow의 이미지

C++을 그렇게 만들었으니까요. ^^

JuEUS-U의 이미지

struct 키워드가 필요한건 C입니다.
C++은 쓸 필요가 없습니다.