SORU
24 Mart 2012, CUMARTESİ


Köşeli parantez C dizisi başlatma ne demek?

static uint8_t togglecode[256] = {
    [0x3A] CAPSLOCK,
    [0x45] NUMLOCK,
    [0x46] SCROLLLOCK
};

[0x3A] anlamı nedir? Sadece int a[2] = {1, 2}; gibi ifadeleri öğrendim

CEVAP
24 Mart 2012, CUMARTESİ


Yeniden anlamına gelirndizinin-th element. Verdiğin örnek anlamına gelir:

togglecode[0x3A] == CAPSLOCK
togglecode[0x45] == NUMLOCK
togglecode[0x46] == SCROLLLOCK

Bu "designated initializers" olarak adlandırılan ve aslında C99 standardının bir parçası. Ancak, = olmadan sözdizimi değildir. Bu sayfadan:

GCC 2.5 beri eski ama GCC olduğu için farklı bir sözdizimi hala öğe değeri önce [index] yazmak = no ile kabul eder.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonathan Morrison

    Jonathan Mor

    24 Mart 2010
  • kylelandry

    kylelandry

    9 AĞUSTOS 2007
  • Crossover

    Crossover

    18 HAZİRAN 2007