Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    26

    Allocazione dinamica memoria array

    Ho scritto questo codice:

    codice:
    int main()
    {
     int i=0;
     int n=0;
     int *a;
    
    scanf("%d", &n);
    a = calloc(n, sizeof(int));
    
    for (i = 0; i <= n; i++)
        {
         a[i] = i;
        }
    
    for (i = 0; i < n; i++)
        {
         printf("%i", a[i]);
        }
    scanf("%d", &n);
    
    return 0;
    }
    In pratica inizializza un vettore di dimensione n, poi lo riempieil vettore con n-1 numeri ed infine li stampa a schermo.

    Però alla riga:

    codice:
    a = calloc(n, sizeof(int));
    Mi viene dato questo errore:
    invalid conversion from `void*' to `int*'

    Sapreste dirmi il perché?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Devi effettuare il cast al tipo di puntatore richiesto

    a = (int *)calloc(n, sizeof(int));

    P.S. Fai attenzione alla prima for ... deve essere <n e non <=n
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    26
    Grazie per il suggerimento, mi hai permesso di risolvere il problema. ^^

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Per le prossime volte: indica il linguaggio nel titolo, come richiesto dal regolamento.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.