[elektro] C programozás kérdés

Moczik Gabor pm_levlista at progzmaster.hu
Sun Feb 6 13:07:23 CET 2011


hg12345 wrote:
> Hi!
> 
> Most találtam egy typedef definiciót a stdlib könyvtárban 
> 
> typedef struct div_t { int quot, rem; } div_t;
>    /* type of the value returned by the div function. */
> typedef struct ldiv_t { long int quot, rem; } ldiv_t;
>    /* type of the value returned by the ldiv function. */
> 
> Mivel használom és lefordul eszerint ez a C változat emészti ezt a variációt.
> 
> Ez lehetséges, hogy a struktura hivatkozási név azonos legyen a typedef névvel? Ilyennel eddig még nem találkoztam...

Lehetséges.
A struct neve önmagában nem is érvényes, tehát typedef nélkül nem is 
lehet rá hivatkozni "div_t" néven, csak "struct div_t"-ként.

Szerintem ez minden fordítón le kell hogy forduljon:

struct Foo {
     ...
};

typedef struct Foo Foo;

vagy rövidebben:
typedef struct {
     ...
} Foo;


Arról már megoszlanak a vélemények hogy ez jó-e (obfuszkálni hogy ez a 
típus egy struct)... Én mindenesetre használom, mert rövidebb a kód.

-- 
((( Móczik Gábor  )))--((( e|mail: pm-01 |@| progzmaster |.| hu )))
((( S.k.y.p.e.: moczik )))



More information about the Elektro mailing list