Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [C] Problema realloc

  1. #1

    [C] Problema realloc

    Salve a tutti,
    ho creato la seguente funzione:
    Codice PHP:
    int intersezione (int numero_elementi_1int numero_elementi_2int *insieme1int *insieme2int *insieme3)

    {

        
    int i,

        
    j,

        
    numero_elementi_3=0;

        for(
    i=0i<numero_elementi_1i++)

        {

            for(
    j=0j<numero_elementi_2j++)

            {

                if(
    insieme1[i]==insieme2[j])

                {

                    
    insieme3 realloc(insieme3sizeof(int));

                    
    insieme3[numero_elementi_3]=insieme1[i];

                    
    numero_elementi_3++;

                }

            }

        }

        return 
    numero_elementi_3;


    su windows tutto bene; il problema di presenta su linux al momento del debug con il seguente errore:
    realloc(): invalid next size: 0x0804b048 ***
    come potrei risolvere? :master:

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Scusa, ma cosa intendi fare con

    codice:
    insieme3 = realloc(insieme3, sizeof(int));
    ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    E poi controlla il valore di ritorno di realloc
    codice:
    int *tmpRealloc;
    
    tmpRealloc = realloc(insieme3, size);
    if(tmpRealloc == NULL) {
    
       puts("Realloc Failed");
       //Handle exception
    
    } else {
    
       insieme3 = tmpRealloc;
    
    }
    
    :)

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