gcc로 compile시 구조체 초기화 안하면 warning이 안뜨나요?

Largo의 이미지

main()
{
    int i;
 
    printf("%\n", i);
}

단순하게 variable을 선언하고 초기화 하지 않았을때 aaa.c:5: warning: 'i' is used uninitialized in this function
다음과 같은 warning이 뜨는 반면, struct를 초기화 하지 않으면 위와 같은 warning이 뜰거라 예상했는데
발생하지 않네요??

#include <stdio.h>
 
 
struct aaa{
    int a;
    int b;
};
 
int main()
{
    struct aaa a;
 
    printf("%d\n",a.a);
 
 
 
    return 0;
}

왜 이렇게 되는지 알 수 있을까요...???