Heim  >  Artikel  >  Backend-Entwicklung  >  Wo beginnt und endet die Ausführung eines C-Programms?

Wo beginnt und endet die Ausführung eines C-Programms?

青灯夜游
青灯夜游Original
2020-08-31 16:45:0923723Durchsuche

Wo beginnt und endet die Ausführung eines C-Programms?

Der Eingang eines C-Programms ist die Hauptfunktion, solange der normale Betrieb endet, beginnt er mit dem ersten Satz der Hauptfunktion und endet mit dem letzten Satz.

Zum Beispiel:

int main()//程序开始
{
printf("Hello!\n");
return 0;//程序结束,返回值
}

Aber wenn mitten in der Ausführung des Programms ein Return (in der Hauptfunktion) oder ein Exit (in der Hauptfunktion oder einer Unterfunktion) auftritt, wird das Programm ebenfalls beendet.

So schreiben Sie die Hauptfunktion in C-Sprache

Die Hauptfunktion ist die Einstiegsfunktion des C-Programms, dh die Ausführung des Programms beginnt mit der Hauptfunktion und die Mobilisierung anderer Funktionen werden auch direkt oder indirekt im Hauptfunktionsaufruf ausgeführt. Wer ruft also die Hauptfunktion auf? Die Antwort ist das Betriebssystem. Seit der Entwicklung der C-Sprache gibt es viele verschiedene Arten, die Hauptfunktion zu schreiben. Lassen Sie uns die verschiedenen Schreibweisen erkunden. Hinweis: Die Testumgebung ist Ubuntu 17.10 und die GCC-Version ist 7.2.0.

NO.1

main(){}
Beispiel:

#include ade979de5fc0e1ca0540f360a64c230b
main(){
	printf("Hello World\n");
}



NO.2

void main(){}
Beispiel:

#include ade979de5fc0e1ca0540f360a64c230b
void main(){
	printf("Hello World\n");
}


NO.3 r

int main(){}
Beispiel:

#include ade979de5fc0e1ca0540f360a64c230b
int main(){
	printf("Hello World\n");
	return 0;
}


NO.5

int main(void){}
Beispiel:

#include ade979de5fc0e1ca0540f360a64c230b
int main(void){
	printf("Hello World\n");
	return 0;
}



no.6

int main(int argc,char *argv[]){}
example:

#include ade979de5fc0e1ca0540f360a64c230b
int main(int argc,char *argv[]){
	printf("Hello World\n");
	return 0;
}

von dem obigen Test kann die Schreibmethode 1 normal unter dem C90 -Standard kompiliert werden, wird jedoch nicht unter dem zusammengestellt C99- und C11-Standards geben eine Warnung aus (schreiben Sie den Rückgabewert nicht, der Standardrückgabewert ist int, was dem Schreiben von Methode 1 und dem Schreiben von Methode 3 entspricht). Die Schreibmethoden 2–6 können normal unter den Standards C90, C99 und C11 kompiliert werden. Welche von so vielen Schreibweisen ist die Standardschriftart für die Hauptfunktion? Deshalb habe ich das C-Standarddokument auf die Standardmethode zum Schreiben der Hauptfunktion überprüft, siehe Bild unten:

Aus dem Standarddokument ist ersichtlich, dass die Schreibmethoden 4, 5 und 6 die Standardmethode sind des Schreibens der Hauptfunktion. Schreibmethode 5 entspricht Schreibmethode 6. Warum gibt es dann die Schreibmethoden 1, 2 und 3? Dies liegt daran, dass seit der Entwicklung der C-Sprache im Jahr 1972 bis zur Veröffentlichung des C90-Standards unterschiedliche Implementierungen der C-Sprache zu Unterschieden in der Hauptfunktion führten. Das Schreiben von Methode 2 wird dringend empfohlen, da die Hauptfunktion vom Betriebssystem aufgerufen wird. Das Betriebssystem beurteilt, ob das Programm anhand des Rückgabewerts der Hauptfunktion korrekt ausgeführt wird. Welchen Status stellt es dar? Darüber hinaus unterstützen einige Compiler diese Schreibmethode, andere nicht und alle Standards erkennen diese Schreibmethode nicht. Die Schreibmethoden 1 und 3 sind noch kaum akzeptabel, es wird jedoch nicht empfohlen, nach der Standard-Schreibmethode zu schreiben. Warum sollten wir nach der Standard-Schreibmethode schreiben? Das liegt daran, dass C-Programme portabler werden sollen. Schreibmethode 5 entspricht Schreibmethode 6. Der erste Parameter stellt die Anzahl der Hauptfunktionsparameter dar, und der zweite Parameter verwendet Zeiger, um jeweils auf diese Parameter zu zeigen. argv[0] stellt den Programmnamen dar, argv[1] bis argv[argc-1] stellen Programmparameter dar. Werfen wir einen Blick auf den Rückgabewert der Hauptfunktion, siehe Bild unten


Aus der Abbildung ist ersichtlich, dass, wenn der Rückgabewert der Hauptfunktion ein kompatibler Typ vom Typ int ist, der von der Hauptfunktion zusammen mit Exit zurückgegebene Wert der Ausführung von Exit xxx entspricht. xxx stellt den von der Hauptfunktion zurückgegebenen Wert dar. Wenn Sie vergessen, die Return-Anweisung zu schreiben, wird beim Ausführen der schließenden Klammer } des Hauptfunktionskörpers der Standardwert 0 zurückgegeben. Die Rückgabe von 0 bedeutet, dass die Programmausführung erfolgreich war und das Programm beendet wird. Wenn der Rückgabetyp der Hauptfunktion kein kompatibler Int-Typ ist, ist der vom Programm an das Betriebssystem zurückgegebene Status unklar.

C-Standard-Dokument-Download-Adresse:

Portal: http://download.csdn.net/download/u012219371/10184521

C-Standard-Einführung:

Portal: http://blog.csdn.net/ u012219371/ Article/Details/78951972

Verwandte Empfehlungen: C-Sprach-Tutorial-Video

Das obige ist der detaillierte Inhalt vonWo beginnt und endet die Ausführung eines C-Programms?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn