Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C] Malloc o Calloc ???

    1. Che differenze ci sono tra Malloc e Calloc ???
    2. Quando si Usa Malloc e quando si usa Calloc ???
    PoWered by:
    Gentoo 1.5.3 - Kernel 2.6.7
    Debian Sid - Kernel 2.6.7 - Bash 3.0
    Slackware current - Kernel 2.6.7

  2. #2
    1. Che differenze ci sono tra Malloc e Calloc ???
    Malloc alloca e basta.
    Calloc alloca e imposta tutto a 0
    2. Quando si Usa Malloc e quando si usa Calloc ???
    Calloc la usi quando vuoi essere sicuro di avere i dati a 0.
    Se no usi malloc+memset.
    Cmq ti allego un mio wrapper di calloc/malloc e free che ho studiato in base a quello che dice il manuale delle GNU libc
    codice:
    /* Name: xmalloc.h
     * Description: This is a wrappers for the ANSI/ISO function malloc, realloc and free
     * Autor: Kleidemos
     * Date : 12/04/2004
    */
    
    #include <malloc.h>
    
    void *xmalloc(size_t);
    void *xrealloc (void *, size_t );
    void xfree(void *);
    
    void *xmalloc(size_t size)
    {
      register void *value = malloc(size);
      if (value == 0)
        puts("Memory exhausted to use xmalloc()\n");
      return value;
    }
    
    void *xrealloc(void *ptr, size_t size)
    {
      register void *value = realloc (ptr, size);
      if (value == 0)
        puts("Memory exhausted to use xrealloc()\n");
      return value;
    }
    
    void xfree(void *ptr)
    {
     	 free(ptr);	 
    }
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  3. #3
    Grazie Mille...
    PoWered by:
    Gentoo 1.5.3 - Kernel 2.6.7
    Debian Sid - Kernel 2.6.7 - Bash 3.0
    Slackware current - Kernel 2.6.7

  4. #4
    Utente di HTML.it L'avatar di infinitejustice
    Registrato dal
    Nov 2001
    residenza
    Barcelona
    Messaggi
    772
    in realta c'è anche un'altra differenza

    malloc alloca un'area unica grande n*sizeof(qualcosa)
    calloc alloca n spazi singoli, ciascuno grande sizeof(qualcosa)


    in pratica nn si sente molto questa differenza
    Live fast. Troll hard.
    Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
    Team Lead @Gameloft Barcelona

  5. #5
    Io spesso uso malloc così:


    variabile = (tipo *)malloc(sizeof(tipo));

    non specifico n*sizeof(tipo)!!!

    Questo per motivi di dinamicità!!! Non so mai quanti elementi allocare quindi anche se quello che sto creando è un vettore (che di solito vuole la sua dimensione) utilizzo la bella proprietà della lista che non ha "limite" di grandezza!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.