déclaration ne rien déclarer : avertissement?

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
    struct emp
    {
        struct address
        {
              int a;
        };
        struct address a1;
    };
}

Ce code affiche un avertissement:-

avertissement : déclaration ne rien déclarer (activé par défaut)

Où, comme le montre le code suivant pas d'avertissement

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
    struct emp
    {
        struct address
        {
             int a;
        }a1;
    };
}   

Pourquoi un "avertissement" est affiché dans le premier code?

u peut pls envoyer votre comprennent aussi des déclarations et des macros si u utilisé?
voir la modifier
Est votre struct vide comme vous le montre?
ya mais les données membres de ne pas faire toute la différence dans ce cas
S'il vous plaît ajouter certains membres de faire de la question de plus en plus clair pour les gens de répondre.

OriginalL'auteur kevin gomes | 2014-02-06