Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [c] array dinamico

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258

    [c] array dinamico

    Ho una domanda:
    come alloco un array dinamico i cui elementi dell'array sono puntatori a char?

    io ho fatto cosi:

    char *pi;
    pi = (char *) malloc (sizeof(10));


    per avere un array come precedentemente detto lungo 10
    giusto? :bubu:

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Innanzitutto è meglio fare:

    char *pi;
    pi = (char *) malloc (10 * sizeof(char));

    (anche se è vero che un char occupa un byte, sizeof(10) non ti restituisce la dimensione di un int?!? al massimo dovresti usare malloc(10))

    In questo modo però gli elementi dell'array sono char e non puntatori a char, per avere un array di puntatori a char:

    char **pi;
    pi = (char **) malloc (10 * sizeof(char *));

    dopodichè devi allocare lo spazio per la variabile puntata da ogni puntatore, ma probabilmente volevi solo un array di 10 caratteri, che ottieni con la prima soluzione.

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.