Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643

    [C] Differenze tra malloc() e calloc()

    Ragazzi che differenze ci stanno tra la funzione malloc() e la funzione calloc() a me sembrano veramente molto simili:

    questo esempio che fà? alloca un array formato da 5 elementi di tipo struct data, giusto?

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    struct data{
            char nome[20];
            char cognome[20];
            int anni;
    };
    
    typedef struct data data;
    
    int main(){
    
            data *p;
    
            p = (data *)calloc(5, sizeof(data));
    
            free(p);
    
            return 0;
    }
    ma non sarebbe stata esattamente la stessa cosa se avessi fatto:
    p= malloc(5*sizeof(data)); ? o mi sfugge qualcosa?

    Grazie
    Andrea

  2. #2
    La calloc a differenza della malloc inizializza la memoria a zero...niente di più

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643
    ah grazie...mmm mi sorge un dubbio ma la calloc() alloca anche in maniera continua a differenza della malloc() o sbaglio?

  4. #4
    Direi che entrambe allocano in maniera contigua...altrimenti non saprei come possa funzionare una memset e le varie aritmentiche dei puntatori

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 © 2024 vBulletin Solutions, Inc. All rights reserved.