C/Visual C - ayuda comandos de C

 
Vista:

ayuda comandos de C

Publicado por Daniel (3 intervenciones) el 09/01/2002 05:32:47
podria alguien ayudarme con algunos comandos que no conozco de C, necesito de ser posible algun ejemplo sencillo del uso de estos:

Farmalloc, farrealloc, free, malloc,allocmen, brk, calloc, farcalloc

he buscado en algunos libros pero no encunetro una respuesta correcta
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda comandos de C

Publicado por Alexis Leung (70 intervenciones) el 09/01/2002 18:45:30
malloc sirve para asignar memoria a un puntero de cualquier tipo, es decir, devuelve un puntero a una posición de memoria segura. Aqui está su prototipo:

void *malloc(size_t tamaño);

Donde tamaño es la cantidad de memoria a asignar.

Ejemplo:

int *p;

p = (int *) malloc(50 * sizeof(int)); /* reservo 100 enteros a p */

void *calloc(size_t num,size_t tam);

Asigna una cantidad de memoria suficiente igual a num x tam. Es decir calloc() asigna memoria suficiente para un array de num objetos de tamaño tam.

float *p;

p = calloc (100,sizeof(float));

Esto devuelve un puntero a un array asignado dinámicamente de 100 elementos float.

void *free(void *puntero);

Libera memoria en la posición que apunta puntero. Lo contrario de calloc.

int *p;

p = (int *) malloc(100 * sizeof(int)); /* asigno memoria */
free(p); /* devuelvo la memoria al sistema */

farmalloc, farrealloc,farcalloc es la version far de cada funcion.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda comandos de C

Publicado por Fabiana (2 intervenciones) el 18/01/2002 02:03:07
calloc funciona igual que malloc, lo quye hace es reservar bloques de memoria.
La forma de llamar a calloc es:
tipo *puntero;
puntero = (tipo*)calloc(numero elementos, tamaño de cada elemento)
Ejemplo:
#define N 5
double *pd;

pd = (double*)calloc(N, sizeof(double));

/* Se reserva memoria para 5 datos de tipo double, cada double requiere 8 bytes por lo tanto se reservan 5*8 bytes, es decir, 40 bytes de la memoria para almacenar dichos numeros*/

La funcion free() libera la memoria usada anteriormente reservada por malloc, calloc, realloc o cualquier otro. Por ejemplo si ya no se necesita más el espacio reservado anteriormente para almacenar los 5 datos de tipo double, lo que se debe hacer es:

free(puntero);

en este ejemplo seria:

free(pd);

malloc hace lo mismo que calloc, asignar bloques de memoria:
tipo *puntero;
puntero = (tipo*)malloc(tamaño en bytes);

Ejemplo:

Se quiere reservar espacio en la memoria para 10 datos de tipo float, cada float requiere de 4 bytes, pero si eso no lo sabes puedes utilizar el operador sizeof():

float *p; /* se tiene que decclarar el puntero*/
p = (float*)malloc(sizeof(10*float));

con este ejemplo se acaba de reservar memoria para 10 datos de tipo float, Se tiene que hacer la conversion de tipo (*float) pues lo que devuelve malloc es tipo void*
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar