Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

C-kieli ja dynaaminen muistin varaus

Samankaltaiset esitykset


Esitys aiheesta: "C-kieli ja dynaaminen muistin varaus"— Esityksen transkriptio:

1 C-kieli ja dynaaminen muistin varaus
Keko (heap) Dynaamiset taulukot malloc(), calloc(), realloc() ja free()

2 Mikä on keko (heap) ? Kaaviokuva ohjelman muistialueesta
koodisegmentti (vakiokoko, ei voi kirjoittaa) main(), printf(), jne. datasegmentti (vakiokoko, joihinkin voi kirjoittaa) globaalit muuttujat paikalliset muuttujat ”dynaaminen muistialue” pino (koko vaihtelee) keko (koko vaihtelee)

3 Dynaamiset taulukot C:n taulukoiden koko määritellään ohjelman kirjoitettaessa Taulukon kokoa ei voi lisätä/vähentää Dynaamisilla taulukoilla kokoa voi muuttaa ajoaikana double taulukko[10];

4 Dynaamisten taulukoiden käyttö
Määritä osoitin haluttuun taulukko elementtiin Alusta osoitin malloc():n tai calloc():n avulla varattuun muistialueeseen Vertaa osoitinta NULL osoittimeen Lisää/vähennä alkioiden määrää realloc():n avulla Vapauta varattu muisti free():llä double *p;

5 Dynaamisten taulukoiden käyttö
Määritä osoitin haluttuun taulukko elementtiin Alusta osoitin malloc():n tai calloc():n avulla varattuun muistialueeseen Vertaa osoitinta NULL osoittimeen Lisää/vähennä alkioiden määrää realloc():n avulla Vapauta varattu muisti free():llä double *p;

6 Dynaamisten taulukoiden käyttö
Määritä osoitin haluttuun taulukko elementtiin Alusta osoitin malloc():n tai calloc():n avulla varattuun muistialueeseen Vertaa osoitinta NULL osoittimeen Lisää/vähennä alkioiden määrää realloc():n avulla Vapauta varattu muisti free():llä void *malloc(size_t size); void *calloc(size_t nmemb, size_t size);

7 Dynaamisten taulukoiden käyttö
Määritä osoitin haluttuun taulukko elementtiin Alusta osoitin malloc():n tai calloc():n avulla varattuun muistialueeseen Vertaa osoitinta NULL osoittimeen Lisää/vähennä alkioiden määrää realloc():n avulla Vapauta varattu muisti free():llä if((p=malloc(size)) == NULL)

8 Dynaamisten taulukoiden käyttö
Määritä osoitin haluttuun taulukko elementtiin Alusta osoitin malloc():n tai calloc():n avulla varattuun muistialueeseen Vertaa osoitinta NULL osoittimeen Lisää/vähennä alkioiden määrää realloc():n avulla Vapauta varattu muisti free():llä void *realloc(void *ptr, size_t size); p=realloc(taulukko_p, max*sizeof(double));

9 Dynaamisten taulukoiden käyttö
Määritä osoitin haluttuun taulukko elementtiin Alusta osoitin malloc():n tai calloc():n avulla varattuun muistialueeseen Vertaa osoitinta NULL osoittimeen Lisää/vähennä alkioiden määrää realloc():n avulla Vapauta varattu muisti free():llä free(p);


Lataa ppt "C-kieli ja dynaaminen muistin varaus"

Samankaltaiset esitykset


Iklan oleh Google