Strona 1 z 1
wskazniki tablice i stuctury (C)
: 20 maja 2011, o 13:31
autor: Inkognito
Kod: Zaznacz cały
#define MAX 30
struct czl{
char imie[20];
...
};
void main() {
int i, n;
FILE *fl;
struct czl zmo;
struct czl *zmog[MAX];
zmog[0]=&zmo;
printf("Ile?
");
scanf("%d", &n);
if(n<MAX)
{
for(i=0;i<n;i++) {
printf("Zmog nr %d
", i+1);
scanf("%s", zmog[i]->imie);
...
}
nie rozumiem czemu ale nie daje mi wypelnic cykl wiecej nisz jeden raz
za drugim razem poprostu wylancza sei program po wprowadzeniu imienia.
wskazniki tablice i stuctury (C)
: 20 maja 2011, o 23:24
autor: soku11
Samego kodu nie komentuje. Błąd zapewne wynika z tych linijek:
Kod: Zaznacz cały
struct czl zmo;
struct czl *zmog[MAX];
zmog[0]=&zmo;
1. Tworzysz na stosie obiekt zmo struktury czl.
2. Tworzysz tablicę zawierającą MAX wskaźników na elementy struktury czl.
3. Do pierwszego wskaźnika przypisujesz adres struktury stworzonej w 1.
I teraz pytanie - na co wskazują pozostałe elementy tablicy? Na nic konkretnego. W związku z tym przy próbie zapisu pod niezdefiniowane miejsce następuje wywalenie się aplikacji.
wskazniki tablice i stuctury (C)
: 22 maja 2011, o 15:24
autor: Inkognito
To co napisalem doskonale rozumiem...
w tym i problem, nie wiem jak poprawnie zapisac by wygladaloby taksamo (obowiazkowa tablica mskazuwek) i nie wylatalaby w czasie pracy.
wskazniki tablice i stuctury (C)
: 22 maja 2011, o 16:19
autor: soku11
Opisz dokładnie i po POLSKU z czym masz problem. Opisałem co robi ten program, by uświadomić ci błąd - próba zapisu pod niezdefiniowane miejsce (wskaźniki poza pierwszym wskazują na śmieci). Co dokładnie chcesz uzyskać - nie wiem.
wskazniki tablice i stuctury (C)
: 23 maja 2011, o 08:40
autor: Inkognito
dzieki za pomoc,
blad znalazlem i poprawilem