Tablica dynamiczna

0

Witam, napisalem taka funkcje:

 void liczby(void)
{
        FILE *plik = fopen("liczby.txt", "w");
        int liczba = 0;
        while(1)
        {
                printf("Podaj liczbe: ");
                scanf("%d", &liczba);
                if(liczba % 2 == 0 && liczba > 0)
                        fprintf(plik,"%d",liczba);
                else if(liczba < 0)
               co teraz?        
        }
        fclose(plik);
}

Wczesniej było : fwrite(&liczba, sizeof(int), 1, plik); // ale w pliku pojawiaja sie dziwne kwadraty zamiast liczb, niewiem dlaczego.

Program miał sprawdzac czy liczba jest parzysta, jesli tak wypisuje ja do pliku, w przeciwnym wypadku zapisuje ja do dynamicznej tablicy. Powinienem zrobic to za pomoca malloca, ale niewiem jak sie do tego zabrac. (int*)malloc(sizeof*liczba) Do czego to zapisac? Co z tym zrobic?

Jesli ktos moglby wrzucic tutaj jakis tutek o wskaznikach bo przegoglowalem całę google i 2 ksiazki o wskazniach i niewiem do czego moge to zastosowac, jedyne co z tego rozumiem to odwoływanie sie do zmiennej(albo elementu tablicy) poprzez jej wskaznik (niewiem czy dobrze napisalem)

Rozumiem jesli chodzi o odwoływanie sie do elementow tablicy poprzez wskaznik, natomiast alokacjii, relokacjii i po co ona jest, nie.

0

0

Dzieki Olu,4 filmiki o pointerach tego goscia juz kiedys widzialem, co prawda jedynie utrwaliłem sobie juz to co wiem, ale o relokacjii i alokacjii nadal niewiem nic. Jesli ktos jest w stanie to bardzo łopatologicznie wytłumaczyć byłbym wdzieczny.

0

Bardziej łopatologicznie to tylko książki.

0

http://pl.wikibooks.org/wiki/C/malloc
Tu masz ładne objaśnienie odnośnie alokacji i raczej wyczerpuje temat

1 użytkowników online, w tym zalogowanych: 0, gości: 1