Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/03/2014, 07:25
vosk
 
Fecha de Ingreso: agosto-2012
Mensajes: 601
Antigüedad: 11 años, 8 meses
Puntos: 83
Respuesta: Funcion malloc

"...Podría crear una función como la siguiente:

void funcion (int numero de elementos, tipo de variable)..."

Puedes implementar algo asi pero es una perdida de tiempo:

Código C:
Ver original
  1. void *custom_alloc(size_t sz, int num) {
  2.     return malloc(sz*num);
  3. }
  4.  
  5. void custom_free(void **mem) {
  6.     if(*mem) {
  7.         free(*mem);
  8.         *mem = 0;
  9.     }
  10. }
  11.  
  12.  
  13. int main() {
  14.     int w, q, *nums;
  15.  
  16.     q = 4;
  17.     if((nums = custom_alloc(sizeof(int), q))) {
  18.         for(w = 0; w < q; w++) {
  19.             nums[w] = w;
  20.         }
  21.  
  22.         for(w = 0; w < q; w++) {
  23.             printf("%d\t", nums[w]);
  24.         }
  25.         custom_free(&nums);
  26.     }
  27.  
  28.     return 0;
  29. }

Ya ves que si see puede, pero he tenido que crear y llamar a una funcion extra para hacer lo mismo que te puso @Aeternum90.

En cualquier caso recuerda que para cada malloc necesitas un free. Y recuerda que esto solo vale para C (ok, en c++ tambien vale pero solo cuando no eserves memoria para objetos o 'cosas' que lleven objetos).

Saludos
vosk