Wpis z mikrobloga

Ogarniałam sobie struktury w C i może mi ktoś powiedzieć czy dobrze używam wskaźnika?

#include
#include

struct student {
char imie[20];
char nazwisko[20];
char adres[50];
int pesel[11];
char kierunek[30];
int nrleg[20];
};

void drukuj(struct student *osoba){
scanf("%s", osoba->imie);
printf("Imie : %s", osoba->imie);
}

main(){

struct student osoba;

drukuj(&osoba);

return 0;
}

#programowanie
  • 3
@Sydica: możesz jedynie zmienić format string w scanfie na "%19s". Aktualnie jak ktoś wpisze sobie więcej niż 20 (a tak naprawdę jeszcze trochę więcej ze względu na alignment) liter w konsoli, to może nadpisać następne pole w strukturze (czyli nazwisko). Jak dasz "%19s", to do imie trafi tylko 19 znaków, niezależnie od tego ile ich wpiszesz w konsoli.