adresy


int *wsk;

int i;

wsk = &i;

adres zmiennej i to &i np. FFF4

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
wsk

wsk = &i; i=5;

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
wsk

printf (″ %p %i″, wsk, *wsk); printf (″ %p″, &i);

FFF4 5 FFF4

0x08 graphic

0x08 graphic
0x08 graphic

tab (&tab[0]) - adres 0 elementu tablicy

&tab[1] - adres 1 elementu tablicy

&tab[2] - adres 2 elementu tablicy

&tab[3] - adres 3 elementu tablicy

wartości:

-1

-20

3

5

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic
tab

&tab[0]

0x08 graphic
tab + 1

&tab[1]

0x08 graphic
tab + 2

&tab[2]

tab + 3

&tab[3]0x08 graphic

int *dane;

funkcja malloc zwraca adres do zarezerwowoanej pamięci

0x08 graphic
0x08 graphic
0x08 graphic
dane = ( int * ) malloc ( sizeof (int) );

0x08 graphic
0x08 graphic

0x08 graphic
*dane=9;

int *dane;

int rozmiar;

scanf (“%d”, & rozmiar);

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
dane = ( int * ) malloc ( rozmiar * sizeof (int) );

0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic

utworzona tablica:

int dane[rozmiar];

int i;

int *wsk;

int **p;

adres zmiennej wsk to &wsk adres zmiennej i to &i

0x08 graphic
0x08 graphic
np.: FFDE (gdzie wsk w pamięci) np.:FFF4 (adres i w pamięci)

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
wsk i

wsk = &i; i=5;

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
wsk *wsk = 5;

0x08 graphic
0x08 graphic

p = &wsk;

0x08 graphic
0x08 graphic
p -> FFDE

*p -> FFF4

*(*p) -> *(FFF4) -> 5

*(*p) -> *(FFF4) -> 5

int **p;

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
p = ( int ** ) malloc sizeof (int *) );

0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
*p

0x08 graphic

0x08 graphic

0x08 graphic
**p **p = 5;

0x08 graphic

*p = ( int * ) malloc sizeof (int ) );

p -> FFAD

*p -> FEAA

*(*p) -> *(* FFAD) -> *( FEAA) -> 5

0x08 graphic
float tab[3][2]={1,2, 3,4, 10,30};

float **kopia;

kopia = ( float ** ) malloc ( 3 * sizeof (float *) );

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic

for (i=0; i<3; i++)

kopia [i] = ( float *) malloc ( 2 * sizeof (float ) );

for (i=0; i<3; i++)

for (j=0; j<2; j++)

kopia [i] [j] = tab [i] [j];

i jest typu int

przechowuje adres zmiennej typu int

p

FFF4

przechowuje adres do obiektu typu int

i jest typu int

5

FFDE

adres do obiektu, który przechowuje adres do zmiennej typu int

FFF4

float

rozmiar

float

kopia[0][0]

kopia[0][1]

p

i

i

i

adres

int

dane[0]

5

float

float

float

adres

kopia[0]

adres

kopia[1]

adres

kopia[2]

adres

float

int

dane[1]

int

dane[2]

adres

0xFEAA

adres do zmiennej, która przechowuje adres do zmiennej typu int

tab[0] -> *(tab)

tab[1] -> *(tab+1)

tab[2] -> *(tab+2)

tab[3] -> *(tab+3)

adres początku obszaru zarezerwowanego dla tablicy

p

int 5

adres do adresu

0xFFAD

adres do int

0xFEAA

0xFFAD

kopia[2][0]

kopia[2][1]

9



Wyszukiwarka

Podobne podstrony:
Adresy IP
Adresy i telefony
Adresy IP
adresy Pozyskiwanie funduszy unijnych 15.03.2011 Sz.D, Studia Meil Energetyka, MGR, SEM 3, INTERGRAC
Adresy stron www na temat zastosowania komputera w terapii pedagogicznej, edukacja, WODN, komputer w
adresy stron www
adresy IP
adresy ip, wisisz, wydzial informatyki, studia zaoczne inzynierskie, rozproszone systemy operacyjne
adresy C2PK6TVMU4YVGZN7PKWMXZLWW2V5FUMQZSLE3NI
Adresy internetowe
adresy ip
Adresy do statystyki, Statystyka
ADRESY I TELEFONY PRZYDATNE W GÓRACH, Bałagan - czas posprzątać i poukładać
adresy
adresy agencji zatrudnienia
adresy, Pamiętaj najgorsze są początki
ADRESY, Imię
ADRESY, Imię
Wyklad 7, adresy
Adresy IP

więcej podobnych podstron