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

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

Linguaggio C: Le basi

Un programma viene prima scritto in codice sorgente (in questo caso il C). Per fare questo basterà utilizzare un semplice editor di testo, come "textpad" o, per chi usa Ubuntu "gedit". Il Linguaggio C permette un'iterazione con l'utente, permette...
Programmazione

Come creare una calcolatrice con Dev C++

Dev C++ rappresenta un IDE completamente gratuito, distribuito e messo a disposizione dell'utente sotto Licenza GNU per la programmazione in linguaggio C e C++. Per IDE si intende un ambiente di sviluppo integrato, acronimo dell'inglese "Integrated Development...
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 implementare gli alberi in C

In informatica per rappresentare dei dati si usano le strutture dati. Le strutture dati sono dei metodi per organizzare dati. A seconda delle operazioni che vogliamo fare su un insieme di dati, possiamo scegliere una struttura dati invece che un'altra....
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...