Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Herman Schinca
Clase 13
10 de Mayo de 2011
Reflexiones Preliminares
S.
Allocation = Asignacin
Allocation Alocar
void* malloc(cantBytes)
int cant;
scanf("%d",&cant);
int* arr;
arr = (int*) malloc(cant*sizeof(int));
int i;
for(i=0; i<cant; i++){
scanf("%d",&arr[i]);
}
malloc: Ejemplo
Y eso es todo?
int* arr;
arr = (int*) malloc(cant*sizeof(int));
if(arr==NULL){
printf(Zarpaste en memoria,
loquito!);
exit(EXIT_FAILURE);
}
...
malloc: Ejemplo
Claramente no.
free(arr)
Arreglo de arreglos!
int** arr;
arr = (int**) malloc(filas*sizeof(int*));
//Chequeo si arr==NULL
int i;
for(i=0; i<filas; i++){
arr[i] = (int*)
malloc(cols*sizeof(int));
//Chequeo si arr[i]==NULL
}
Matrices: Libero Memoria
free(arr);
miniEjercicio
malloc para pedir memoria.
calloc para pedir memoria inicializada en 0.
Questions?