Proszę o wytłumaczenie poniższych zagadnień. Załóżmy że mam zadeklarowaną strukturę o nazwie np. Czlowiek. Jednym z elementów tej struktury jest np. imię. Dlaczego używając wskaźników do struktur chcąc przypisać strukturze imie np. Adam używamy funkcji strcpy w taki sposób:
strcpy(Czlowiek->imie, "Ala");
, a nie po prostu robimy przypisanie Czlowiek->imie="Adam"?
Drugą kwestią o jaką chciałbym spytać jest takie zagadnienie: załóżmy że mam zadeklarowaną taką unię:
union Liczba{
float ulamkowa;
int calkowita;
};
Po czym wywołuję taki kod w funkcji main:
k.calkowita = 5;
printf("Rozmiar unii: %d\twartosc calkowita: %d\twartosc ulamkowa: %f\n", sizeof(k), k.calkowita, k.ulamkowa);
k.ulamkowa = 5;
printf("Rozmiar unii: %d\twartosc calkowita: %d\twartosc ulamkowa: %f\n", sizeof(k), k.calkowita, k.ulamkowa);
Dlaczego wyniki wywołań funkcji printf są tak różne? Poniżej zamieszczam wyniki wywołań:
Rozmiar unii: 4 wartosc calkowita: 5 wartosc ulamkowa: 0.000000
Rozmiar unii: 4 wartosc calkowita: 1084227584 wartosc ulamkowa: 5.000000
Proszę o rozjaśnienie mi w głowie, pozdrawiam :)