Wczytywanie struktury przez wskaźnik

0

Uczę się struktur, i nie wiem jak poprawnie scanfem wczytać coś do struktury, kiedy mam do niej wskaźnik, pokażę kod:

#include <stdio.h>

struct osoba
{
    char imie[100];
    char nazwisko[255];
};

void wczytaj(struct osoba *wsk)
{
    // tak:

    scanf("%s", wsk->imie);
    scanf("%s", wsk->nazwisko);

    // czy tak:

    scanf("%s", &wsk->imie);
    scanf("%s", &wsk->nazwisko);
}

int main()
{

    struct osoba os;

    wczytaj(&os);

    printf("Imie: %s\n", os.imie);
    printf("Nazwisko: %s\n", os.nazwisko);

    return 0;
}

0
&wsk; //Adres wskaźnika!
wsk; //Adres spod wskaźnika
1

Sprawdź.

0

Jeden wariant zadziała, zaś drugi się wywróci. Niestety trzeba mieć ID powyżej 15 aby się wymyślić sposób sprawdzenia który z tych wariantów zadziała.

0

Trzeba mieć IQ poniżej 2 by mylić IQ z ID

0

Mnie obie wersje działają. &wsk wsk, mam stary kompilator.

0

Sprawdzałem, mam najnowszy Code::Blocks, obie wersje działają ... dlatego zapytałem ...

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.