SORU
15 HAZİRAN 2014, Pazar


Anlamı `X` vs `X yapı typedef typedef yapı`nedir?

Varolan kod tabanı, C ve C arasında paylaşılan dosya vardır , MSVC (2010) derleme ve Windows KGK: kullanılan (işçi) aşağıdaki kodu var

struct X {
    USHORT x;
} typedef X, *PX;

Ve:

enum MY_ENUM {
    enum_item_1,
    enum_item_2 
} typedef MY_ENUM;

Bildiğim kadarıyla, doğru tanım bu gibi görünmelidir:

typedef struct {
    USHORT x;
} X, *PX;

Aşağıdaki formu olması için herhangi bir amaç var mı? Bir şey mi kaçırdım?

CEVAP
15 HAZİRAN 2014, Pazar


typedef <type> <alias> <type> typedef <alias> Her ikisi de geçerli olması sadece dil dilbilgisi tanımından geliyor.

typedef olarak sınıflandırılırDepolama sınıfı specfifier(sadece static, auto) gibi, tür olarak da bilinir kendisitürü belirleyicisi. Standart bölüm 6.7 sözdizimi tanımları, bu öyle ayarlanır ki, özgür olduğunu görürsünüz.

declaration:
    declaration-specifiers init-declarator-list ;

declaration-specifiers:
    storage-class-specifier declaration-specifiers
    type-specifier declaration-specifiers
    type-qualifier declaration-specifiers
    function-specifier declaration-specifiers

init-declarator-list:
    init-declarator
    init-declarator-list , init-declarator

init-declarator:
    declarator
    declarator = initializer

(Tabii bu olmayan yapılar için yapı ve aynı derecede gerçek olduğunu, double typedef trouble; de geçerli olduğu anlamına gelir, unutmayın.)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • MC JIN'S OLD YouTube CHANNEL

    MC JIN'S OLD

    2 Kasım 2008
  • monkophile

    monkophile

    25 Temmuz 2007
  • wwjoshdu

    wwjoshdu

    18 ŞUBAT 2011