Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [C] Dubbio su argv

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    29

    [C] Dubbio su argv

    Salve a tutti!
    Stavo leggendo un codice, quando mi trovo di fronte ad uno switch:

    codice:
        switch(tolower(argv[1][0])){
    
            case 's': scrivi(segptr, argv[2]);
                  break;
            case 'l': leggi(segptr);
                  break;
            case 'r': elimina(shmid); 
                  break;
            default: istruzioni();
        }
    E mi sorge un dubbio, perchè nella condizione dello switch argv ha due indici? Ho provato a sostituirlo con argv[1], però in questo caso, anche se uso caratteri come s,l o r, va comunque nel caso di default. Qualcuno può illuminarmi? Grazie in anticipo per ogni eventuale risposta

  2. #2
    argv => char ** (puntatore di puntatori a char, di fatto un array di stringhe)
    argv[1] => char * (puntatore a char, ovvero stringa corrispondente al primo argomento del programma)
    argv[1][0] => char (primo carattere del primo argomento del programma)
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    29
    Chiarissimo! Grazie mille

  4. #4
    Amaro C++, il gusto pieno dell'undefined behavior.

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.