Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Problema con C!!!

    Salve a tutti!
    Nella dichiarazione dei prototipi delle funzioni, nel C, come devo fare per dichiarare una funzione che come argomento ha un array, i cui elementi sono a loro volta array di stringhe?

    Grazie mille!!!

  2. #2
    La funzione accetta quindi il valore di un puntatore ad un array di puntatori ad array ?
    codice:
    void func( char **strArray)
    {
    }
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

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

    Moderazione

    Complimenti per il titolo significativo.
    Leggi il regolamento, per conoscere come vanno scritti i titoli nelle discussioni.

    Questo lo sistemo io.


    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

  4. #4
    OK, scusa, non lo sapevo...
    Grazie per avere sistemato...

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: Problema con C!!!

    Originariamente inviato da mgofficial
    Nella dichiarazione dei prototipi delle funzioni, nel C, come devo fare per dichiarare una funzione che come argomento ha un array, i cui elementi sono a loro volta array di stringhe?
    Quindi, per dirla in altri termini, una matrice bidimensionale di stringhe (puntatori a char), giusto?

    Qui però bisogna stabilire se si vuole gestire un array bidimensionale come inteso dal C/C++ (ovvero elementi contigui in memoria) o un array bidimensionale basato su puntatori. Perché sono due strutturazioni diverse degli elementi.

    Con array "classico":

    codice:
    void func (char *mat[2][2])
    {
        ....
    }
    
    ....
    char *matrice[2][2] = { {"a","b"}, {"c","d"} };
    
    func (matrice);
    Con puntatori:

    codice:
    void func (char ***mat)
    {
        ....
    }
    
    ....
    char *riga1[2] = { "a", "b" };
    char *riga2[2] = { "c", "d" };
    char **matrice[2];
    
    matrice[0] = riga1;
    matrice[1] = riga2;
    
    func (matrice);
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

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.