Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308

    [C/C++] Passare puntatore array stringa a funzione

    Ciao a tutti,
    il problema è il seguente:
    ho un array di caratteri, per esempio

    Codice PHP:
    char nome[] = { 'R''a''z''o''r','\0' }; 
    ed ho una funzione che dovrebbe poter modificare il valore di 'nome'.
    Come devo indicare l'argomento 'nome' alla definizione della funzione?
    E come devo indicarlo alla chiamata della funzione?

    Ho fatto diversi test ma il compilatore mi restituisce sempre qualche errore.
    Attualmente ho scritto la dichiarazione in questo modo

    Codice PHP:
    void MiaFunzione(char ** nome); 
    e la chiamata in questo modo

    Codice PHP:
    MiaFunzione(&nome); 
    Qual è la corretta sintassi ed il concetto per comprenderla?
    Grazie

    PS.
    L'ultimo elemento dell'array è il null character, evidentemente ci dev'essere un problema nel forum nella gestione di questo

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,468
    codice:
    void funzione(char *n)
    {
      n[0]=tolower(n[0]);
    
      return;
    }
    
    int main()
    {
      char nome[] = "Razor";
    
      printf("%s\n", nome);
    
      funzione(nome);
    
      printf("%s\n", nome);
    
      return 0;
    }
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Ciao,
    non ho ancora testato la tua soluzione, ho una cosa da chiederti prima:ù
    l'argomento 'n' passato a funzione, cos'è?
    Grazie

  4. #4
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Guarda non rispondere nemmeno.. domanda stupida

  5. #5
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Ho ancora una domanda sempre sull'argomento:
    se passo ad una funzione un puntatore di un intero ( perchè questa funzione fa delle operazioni che modificano il suo valore a livello globale ) posso all'interno di questa funzione ricavare il valore dal puntatore ( se si come? devo fare qualche operazione particolare o posso leggere il valore direttamente dal punatatore? ) o dovrò passare anche la variabile non puntatore?

    Il mio problema attualmente è che ricevo errori di questo tipo:
    invalid conversion from 'int' to 'int*'

    Grazie

  6. #6
    devi derefenziare il puntatore utilizzando l'operatore * .

    ciao
    sergio

  7. #7
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Potresti postare un breve esempio?
    Grazie

  8. #8
    codice:
      
      // dichiaro un puntatore ad int
      int * ptr;
      // alloco la memoria
      ptr = new int;
    
      *ptr = 10;
      // adesso il contenuto della memoria puntata da ptr vale 10
    
      int i = *ptr;
      // anche i vale 10;

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,468
    codice:
    void funzione(int *v)
    {
       printf("%d\n", *v);
    
       return;
    }
    Guarda che questi argomenti non sono da affrontare in un forum ma su un qualsiasi libro di C ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Grazie ad entrambi per le risposte.
    Oregon, hai ragione a scrivere a proposito del libro, pensa che sono le stesse parole che ho scritto su questo stesso forum a diversi utenti php, uno dei linguaggi da cui provengo ( e qui immagino dirai: 'ah ecco spiegate molte cose' ).

    Conosco il significato dei puntatori, volevo solo chiarirmi velocemente queste poche questioni. Se fossi stato all'oscuro non sarei nemmeno stato in grado di porre le domande che ho posto.

    Tuttavia seguirò presto il tuo consiglio, la voglia non mi manca, anzi, se dai un'occhiata al mio blog lo puoi constatare con i tuoi occhi ( beh, sono sicuro che non ti interessa nulla, era così per dire )

    Ciao

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.