Declarations and Initializations - Programming

Q1:

Which of the structure is incorrcet?
1 :
struct aa
{
    int a;
    float b;
};
2 :
struct aa
{
    int a;
    float b;
    struct aa var;
};
3 :
struct aa
{
    int a;
    float b;
    struct aa *var;
};

A 1

B 2

C 3

D 1,2,3

ANS:A - 1

Option B gives "Undefined structure in 'aa'" error.