![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 238 Pomógł: 1 Dołączył: 27.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Dopiero zaczynam nauke C, więc nie dziwcie się, że pytanie jest takie proste:)
Mam liste danych osobowych kilku osób (tzn. imie i nazwisko). W jaki sposób zrobić aby po kolei wyświetlał mi te dane? Nie wiem nawet w czym mam to zapisać (tablica, struktura?). Kurcze, dopiero teraz sobie uświadamiam, jakie php jest proste w porównaniu do C |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat już działa. mam tylko pytanie związane z tą linijką
Automatycznie się nie da. Musisz allokować dynamicznie. Poczytaj sobie o funkcji realloc, bezpośrednim wprowadzaniu stringów ( getchar + bezpośrednie działania na pointerach ).Kod osoby[0].imie=(char *) malloc(6 * sizeof(char) + sizeof(char));
otóż tu jest wpisana liczba znaków 6, ale przecież nie zawsze tak będzie. Da się to jakoś dynamicznie ustawić, aby automatycznie wstawiał długość stringu? Cytat I jeszcze jedno. W jaki sposób zrobić, aby nie trzeba było za każdym razem wpisywać
To tutaj nic nie da. Tutaj musiałbyś zastosować np. funkcjie o definicji npKod osoby[ktora].imie=(char *) malloc(6 * sizeof(char) + sizeof(char));
osoby[ktora].nazwisko=(char *) malloc(sizeof(char) * 10 + sizeof(char)); strcpy(osoby[ktora].imie, "imie"); strcpy(osoby[ktora].nazwisko, "nazwisko"); gdy chce dodać nową osobe. Tak się zastanawiam czy zastosowanie funkcji typedef nie byłoby dobrym rozwiązaniem? A może coś innego Kod int wstaw(int/* numer w tablicy*/, char *, char */* imie i nazwisko*/);
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 13:21 |