C / stdlib.h / calloc
abort, abs, atexit, atof, atoi, atol, bsearch, » calloc, div, exit, free, getenv, labs, ldiv, malloc, mble, mbstowcs, mbtowc, qsort, rand, realloc, srand, strtod, strtol, strtoul, system, wctomb,
Funcion: calloc()
Sintaxis:
Descripcion: Adjudica espacio para un array de nmemb objetos, cada cual tiene como tamaño tamanyo. El espacio es inicializado a cero todos los bits.
Ejemplo:
Sintaxis:
void *calloc(size_t nmemb, size_t tamanyo);
Descripcion: Adjudica espacio para un array de nmemb objetos, cada cual tiene como tamaño tamanyo. El espacio es inicializado a cero todos los bits.
Ejemplo:
#include <stdio.h> #include <stdlib.h> int main( void ) { int *numPtr, i; size_t tamanyo=0; printf( "Introduzca el tamaño de la lista: " ); scanf( "%d", &tamanyo ); puts( "Adjudicamos espacio a la lista (con calloc)." ); numPtr = (int *)calloc( tamanyo, sizeof(int) ); for( i=0; i<tamanyo-1; i++ ) printf( "%d, ", numPtr[i] = rand() % 100 + 1 ); printf( "%d\n", numPtr[i] = rand() % 100 + 1 ); numPtr = (int *)realloc( numPtr, tamanyo/=2 ); printf( "Recortamos la lista a la mitad: %d\n", tamanyo ); for( i=0; i<tamanyo-1; i++ ) printf( "%d, ", numPtr[i] ); printf( "%d\n", numPtr[i] ); puts( "Liberamos el espacio (con realloc)." ); realloc( numPtr, 0 ); /* Una forma poco ortodoxa, pero válida, de liberar espacio */ return 0; }