Zvláštna inicializácia štruktúry

Sekcia: Programovanie 15.01.2013 | 23:04
Avatar ferri Fedora  Používateľ
Pri čítaní knihy Building embedded Linux systems (2nd edition) som natrafil v príkladoch textu zdrojových súborov na pre mňa zvláštny spôsob inicializácie štruktúr cez dvojbodku :
Uvádzam funkčný príklad krátkeho programu.

#include <stdio.h>

struct attempt {
int i, k;
};

int main(void)
{
struct attempt ja = {
i: 1,
k: 2
};

printf("%d, %d\n", ja.i, ja.k);

return 0;
}

Používa sa bežne aj inde takáto konštrukcia, pretože som na to zatiaľ v žiadnej učebnici/knihe o C nenarazil.
    • Re: Zvláštna inicializácia štruktúry 16.01.2013 | 00:48
      miso   Návštevník
      Je to rozsirenie gcc pre C89, takze sa to pouziva hlavne v starsej literature tociaciej sa okolo GNU a gcc.
      • Re: Zvláštna inicializácia štruktúry 16.01.2013 | 07:00
        Avatar ferri Fedora  Používateľ
        Vďaka za odpoveď.

        Normálne sa to asi neodporúča používať, ak tomu dobre rozumiem.
        • Re: Zvláštna inicializácia štruktúry 16.01.2013 | 10:18
          miso   Návštevník
          Kedze je to rozsirenie a nie sucast standardu, tak treba zvazit aka ma byt prenositelnost daneho kodu. Ak sa da, tak je urcite lepsie pouzit C99 syntax..