Visualizzazione dei risultati da 1 a 10 su 19

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Ciao,
    stavo seguendo la discussione e sinceramene anche io non capisco. Credevo che str dichiarato come

    codice:
    char **str;

    fosse equivalente a un array di array di char, quindi a un array di stringhe.

    Infatti questo codice funziona e stampa tre stringhe:

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    
    int main()
    {
        char **str = (char **) malloc(3*sizeof(char *));        // alloco un array di stringhe
        str[0] = (char *) malloc(10*sizeof(char));               // alloco una stringa di 10 caratteri
        str[1] = (char *) malloc(10*sizeof(char));
        str[2] = (char *) malloc(10*sizeof(char));
    
    
        str[0][0]='p';          // inserisco i caratteri della stringa
        str[0][1]='i';
        str[0][2]='p';
        str[0][3]='p';
        str[0][4]='o';
        str[0][5]='\0';         // il terminatore della stringa
    
    
        str[1][0]='p';          // inserisco i caratteri della stringa
        str[1][1]='l';
        str[1][2]='u';
        str[1][3]='t';
        str[1][4]='o';
        str[1][5]='\0';         // il terminatore della stringa
    
    
        str[2][0]='t';          // inserisco i caratteri della stringa
        str[2][1]='o';
        str[2][2]='p';
        str[2][3]='o';
        str[2][4]='l';
        str[2][5]='i';
        str[2][6]='n';
        str[2][7]='o';
        str[2][8]='\0';         // il terminatore della stringa
    
    
        printf("%s\n", str[0]); // stampo la stringa passando il primo puntatore dell'array di puntatori
        printf("%s\n", str[1]);
        printf("%s\n", str[2]);
        return 0;
    }

    C'è qualche problema?
    Grazie.




    EDIT - Penso di aver capito: non avevo letto bene.
    @toni00t: se ho capito bene oregon non ti sta "contestando" il fatto che str sia un array di stringhe, ma il fatto che tu lo abbia inizializzato uguale a "pippo" che è una stringa (cioè un array di caratteri).
    Ultima modifica di minomic; 05-05-2014 a 14:20

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.