Documente Academic
Documente Profesional
Documente Cultură
ovidiu.banias@aut.upt.ro
Cuprins
Memoria. Adrese Variabile de tip pointer Operatorii de adresare i derefereniere Alocarea dinamic a memoriei Vectori i pointeri
Memoria
Segmentul de STIV
Variabile locale Apeluri de funcii Variabile globale, statice Alocare dinamic Variabile iniializate/neiniializate BSS= block starting with symbol
Segmentul de COD/TEXT
Reprezentarea ntregilor
Adrese de memorie
Adres = numrul de ordine al unui octet(cuvnt) n memorie Compilator pe 16/32 de bii O variabil ocup x octei succesivi. Adresa primului octet=adresa variabilei
char 1 octet int 2 octei (sau 4) adresa unei variabile valoarea variabilei adres = pointer
Reprezentarea ntregilor
Pointer = variabil ce are ca valoare o adres de memorie O variabil de tip pointer, pointeaz ctre o anumit zon din memorie (adreseaz o anumit zon de memorie)
v
9
& - operator de adresare (refereniere) 0, NULL iniializare pointer Refereniere direct
vPtr
v
9
Refereniere indirect
Alocarea dinamic
#include <stdio.h> #include <stdlib.h> #define tip char tip *vPtr, *vPtr2; int main() { vPtr=(tip *) malloc(sizeof(tip)); vPtr2=(tip *) malloc(sizeof(tip)); printf("%p\n",vPtr); printf("%p\n",vPtr2); printf("%p\n",vPtr2+1); printf("%d\n",(vPtr2-vPtr)); return 0; }
Reprezentarea ntregilor
Vectori i pointeri
Strns legtur ntre vectori i pointeri Orice operaie cu indici i vectori poate fi realizat cu pointeri
v[i]
v[7]
v:
p:
v[1] ? *(p+1) ? (v[i]== *(p+i)) ?
Reprezentarea ntregilor
m:
+ strcpy, strcmp, strcat, strlen, + studiu bibliografic
Reprezentarea ntregilor
SAU
char *a[3]={Luni,Marti,Miercuri};
Reprezentarea ntregilor