C/Typy złożone: Różnice pomiędzy wersjami

Dodane 267 bajtów ,  10 lat temu
m
(nowy =(el_listy*) malloc (sizeof(el_listy)); oraz first =(el_listy*) malloc (sizeof(el_listy)); z invalid conv from void* to el_listy*, rzutowanie)
Nie jest to jednak poprawny kod C i należy o tym pamiętać szczególnie jeżeli uczysz się języka C korzystając z kompilatora C++.
Częstym idiomem w C jest użycie <tt>typedef</tt> od razu z definicją typu, by uniknąć pisania <tt>enum</tt>, <tt>union</tt> czy <tt>struct</tt> przy deklaracji zmiennych danego typu.<ref>[[http://stackoverflow.com/questions/612328/difference-between-struct-and-typedef-struct-in-c|Difference between 'struct' and 'typedef struct' in C++? ]]</ref>
<source lang="c">
typedef struct struktura {
int pole;
} Struktura;
 
Struktura s1;
struct struktura s2;
</source>
 
W tym przypadku zmienne s1 i s2 są tego samego typu. Możemy też zrezygnować z nazywania samej struktury:
struct struktura
lub jego skróconej wersji :
Struktura
 
 
 
Możemy też zrezygnować z pełnej nazwy struktury i pozostawić tylko skróconą :
<source lang="c">
typedef struct {
int pole;
} Struktura;
 
Struktura s1;
</source>
6160

edycji