adspace


typedef struct error{int warning, error, exception;}error;

main()

{

error g1;

g1.error =1;

printf("%d",g1.error);

}

Answer Posted / susie

Answer :

1

Explanation

The three usages of name errors can be distinguishable
by the compiler at any instance, so valid (they are in
different namespaces).

Typedef struct error{int warning, error, exception;}error;

This error can be used only by preceding the error by struct
kayword as in:

struct error someError;

typedef struct error{int warning, error, exception;}error;

This can be used only after . (dot) or -> (arrow) operator
preceded by the variable name as in :

g1.error =1;

printf("%d",g1.error);

typedef struct error{int warning, error, exception;}error;

This can be used to define variables without using the
preceding struct keyword as in:

error g1;

Since the compiler can perfectly distinguish between these
three usages, it is perfectly legal and valid.

Note

This code is given here to just explain the concept
behind. In real programming don’t use such overloading of
names. It reduces the readability of the code. Possible
doesn’t mean that we should use it!

Is This Answer Correct ?    2 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Can you send Code for Run Length Encoding Of BMP Image in C Language in linux(i.e Compression and Decompression) ?

4490