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

青灯夜游
Freigeben: 2022-01-12 15:46:18
Original
23722 Leute haben es durchsucht

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;//程序结束,返回值
}
Nach dem Login kopieren

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(){}
Nach dem Login kopieren
Beispiel:

#include <stdio.h>
main(){
	printf("Hello World\n");
}
Nach dem Login kopieren



NO.2

void main(){}
Nach dem Login kopieren
Beispiel:

#include <stdio.h>
void main(){
	printf("Hello World\n");
}
Nach dem Login kopieren


NO.3 r

int main(){}
Nach dem Login kopieren
Beispiel:

#include <stdio.h>
int main(){
	printf("Hello World\n");
	return 0;
}
Nach dem Login kopieren


NO.5

int main(void){}
Nach dem Login kopieren
Beispiel:

#include <stdio.h>
int main(void){
	printf("Hello World\n");
	return 0;
}
Nach dem Login kopieren



no.6

int main(int argc,char *argv[]){}
Nach dem Login kopieren
example:

#include <stdio.h>
int main(int argc,char *argv[]){
	printf("Hello World\n");
	return 0;
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage