La funzione main nel C++

Tramite: O2O 19/08/2018
Difficoltà: media
18

Introduzione

La funzione main è, come dice lo stesso nome, la funzione principale del programma. Questa funzione è l'entry point di ogni programma C++, ovvero il punto in cui il programma inizia, ed è anche il punto in cui il programma finisce, perché la fine dell'esecuzione di questa funzione coincide con il termine del programma. È anche possibile terminare anticipatamente il programma tramite la chiamata alla funzione exit della libreria standard. Vediamo attraverso alcuni semplici passi qual è il modello della funzione main e come utilizzarla.

28

Occorrente

  • Pc
  • IDE (facoltativo)
  • compilatore
38

Prototipo della funzione main

In C++, l'entry point main() deve essere nel namespace globale (::main) e non può essere un metodo, anche se il nome non è riservato in altri modi e può essere usato per metodi, classi, enumerazioni o funzioni. A differenza del C non può essere chiamata ricorsivamente e non può essere letto il suo indirizzo. Il prototipo della funzione main è il seguente: int main(int argc, char* argv[], char* envp[]); La funzione main restituisce un intero ed è utilizzato per stabilire lo stato del programma al suo termine (un'uscita regolare dal programma è identificata da 0). I tre parametri della funzione sono rispettivamente il numero di argomenti passati al programma da linea di comando, dall'inglese argument count, il valori veri e propri, sempre dall'inglese e significa argument vector. Esiste anche un terzo parametro, nei sistemi operativi UNIX e Windows, envp. Questo parametro consente di avere accesso alle variabili di ambiente dell'utente in uso. In alternativa è possibile ottenere lo stesso vettore tramite la funzione getenv della libreria standard.

48

Specifiche dei parametri

Il primo parametro, argc, è di tipo int e contiene sempre un valore maggiore o uguale a 1 anche se il programma viene eseguito senza parametri. Questo perché ogni programma ha sempre valorizzato argv[0], che contiente il nome del programma in esecuzione. Il vettore di char* argv contiene quindi gli argomenti passati tramite linea di comando, a partire da argv[1].
Un semplice ciclo per stamparli tutti a video sarebbe di questo tipo:for(int i=0; i
.

Continua la lettura
58

Altri prototipi

Come abbiamo visto la funzione main può accettare tre parametri, ma non tutti sono obbligatori. È possibile chiamare questa funzione senza parametri oppure con solo argc e argv.Questo è l'elenco completo dei prototipi supportati dal linguaggio
int main(void); int main(); int main(int argc, char **argv); int main(int argc, char *argv[]); int main(int argc, char **argv, char **env); // more specifically in C // NOT according to the ISO C standard 5.1.2.2.1 void main (void);
L'ultimo prototipo è più specifico per il linguaggio C e utilizzato in ambito di programmazione embedded, nonostante in moltissimi casi sia comunque supportata.

68

Conclusione

Abbiamo visto le caratteristiche della funzione main in C++, ma questa guida è anche valida per il linguaggio C. Normalmente questa funzione non contiene tutto il codice al suo interno, ma i compiti vengono delegati ad altre funzioni o procedure, infatti esclusi programmi molto brevi è considerata una cattiva pratica lo scrivere tutto il programma all'interno della funzione principale, perché poi il codice può risultare molto difficile da leggere. Il valore ritornato da questa funzione può essere inoltre utilizzato per specificare la causa di un'uscita anticipata dal programma, con un errore per ogni valore ritornato. Spero che con questa guida possiate avere imparato come funziona l'entry point di C e C++ e come gestire tutti i suoi argomenti nel modo più opportuno e di aver chiarito eventuali dubbi a riguardo e buon proseguimento nello studio del C++.

78

Guarda il video

88

Consigli

Non dimenticare mai:
  • conoscenza del linguaggio C
Alcuni link che potrebbero esserti utili:

Potrebbe interessarti anche

Naviga con la tastiera

Segnala contenuti non appropriati

Tipo di contenuto
Devi scegliere almeno una delle opzioni
Descrivi il problema
Devi inserire una descrizione del problema
Si è verificato un errore nel sistema. Riprova più tardi.
Segnala il video che ritieni inappropriato
Devi selezionare il video che desideri segnalare
Verifica la tua identità
Devi verificare la tua identità
chiudi
Grazie per averci aiutato a migliorare la qualità dei nostri contenuti

Guide simili

Programmazione

Come creare un semplice programma con Dev C++

Dev-C++ è un IDE gratuito distribuito sotto la Licenza GNU per la programmazione in C/C++, ed è scritto in Delphi. Il progetto è sponsorizzato da Sourceforge. Net. Dev-C++ è stato fondato originariamente dal programmatore Colin Laplace e la sua azienda,...
Programmazione

Come creare un semplice programma in C++

Il C++ è un linguaggio di programmazione che riprende molte basi del classico C. Il quasi totale abbandono del linguaggio C è dovuto all'implementazione della programmazione ad oggetti (OOP), che ha permesso anche a futuri sviluppatori di usufruire...
Programmazione

Come creare una calcolatrice con Dev C++

Dev C++ per il momento rappresenta un IDE completamente gratuito, distribuito e messo a disposizione totale dell'utente che vorrà usufruirne, ed è sotto la Licenza GNU per la programmazione in linguaggio C e C++. Quando usiamo il termine IDE gratuito...
Programmazione

Come spostare un file in Java

Spostare i file in Java potrebbe sembrare inizialmente un'operazione complessa, ma con un po' di attenzione potremo farlo semplicemente da soli, senza dunque rivolgerci ad un tecnico informatico specializzato. Così facendo, non solo potremo imparare...
Programmazione

Programma c++ per risolvere equazioni di secondo grado

Il linguaggio di programmazione C++ è stato inventato da Bjarne Stroustrup sulla base di quello C, sviluppato, invece, da Dennis Ritchie. Esso presenta un'ampia gamma di funzionalità e si presta benissimo a diverse applicazioni, come la risoluzione...
Programmazione

Come programmare un algoritmo in Java

Come programmare un algoritmo? Ebbene, inizialmente bisogna stabilire cosa si intende con questa dicitura. Infatti, si può programmare un algoritmo tramite la sua vera e propria creazione. Oppure lo si può studiare, come previsto in specifici corsi...
Programmazione

Inserire elementi in una lista in C++

Molti programmatori Java o utenti principianti, trovano il linguaggio C++ uno tra i più ostici nel suo utilizzo. Java, noto per la sua semplicità, offre dei costrutti utili per gestire e manipolare una struttura dinamica quali una Lista di oggetti....
Programmazione

Come imparare a programmare in C++

L'avvento del computer, ha richiesto la creazione di appositi linguaggi per facilitare la comunicazione tra utente e macchina. I linguaggi sono aumentati di numero e via via è aumentata anche la facilità di comunicazione tra questi due canali. Si parla...