Einführung in C++-Definitionen und -Deklarationen

Einführung in C++-Definitionen und -Deklarationen

Dieser Artikel enthält: Variablendeklaration und -definition, Funktionsdeklaration und -definition sowie eine Einführung in das Schlüsselwort extern.

Variablendeklaration und -definition

Variablen müssen definiert oder deklariert werden, bevor sie verwendet werden können.

In C++ lautet das Syntaxformat der Variablendeklaration (Deklaration) wie folgt:

Name der externen Datentypvariable;

Dabei stellt der Datentyp den Typ der Variablen dar, z. B. Ganzzahl, Gleitkomma, Zeichen usw., und der Variablenname ist der Name, der zur Identifizierung der Variablen verwendet wird.

Die Definition einer Variablen umfasst sowohl die deklarierte Funktion als auch die Zuweisung des für die Variable erforderlichen Speicherplatzes. Indem wir eine Variable definieren, teilen wir dem Compiler nicht nur die Existenz und den Typ der Variablen mit, sondern weisen der Variablen auch Speicher zum Speichern von Daten zu.

In C++ lautet das Syntaxformat zum Definieren von Variablen wie folgt:

Datentyp-Variablenname [= Anfangswert];

Unter diesen stellt der Datentyp den Typ der Variablen dar, z. B. Ganzzahl, Gleitkomma, Zeichen usw.; der Variablenname ist der Name, der zur Identifizierung der Variablen verwendet wird. Mit dem Zuweisungsoperator = kann einer Variablen ein Anfangswert zugewiesen werden.

Der Unterschied zwischen C++ -Deklaration und -Definition

Definitionen weisen Speicherplatz zu, Deklarationen hingegen nicht.

①Variablendefinition: Wird verwendet, um Speicherplatz für Variablen zuzuweisen und Anfangswerte für Variablen anzugeben. In einem Programm haben Variablen eine und nur eine Definition.

②Variablendeklaration: Wird verwendet, um dem Programm den Typ und Namen der Variablen anzugeben.

③Definition ist auch eine Anweisung: Wenn wir eine Variable definieren, deklarieren wir deren Typ und Namen.

④extern-Schlüsselwort: Mit dem extern-Schlüsselwort deklarieren Sie den Variablennamen, ohne ihn zu definieren. extern teilt dem Compiler mit, dass die Variable an anderer Stelle definiert ist.

Die folgenden Beispiele verdeutlichen:

int i; //Definition, Definition ist auch eine Anweisung

int i=5; //Definition, Definition ist auch eine Anweisung

extern int i; //Anweisung

Es ist zu beachten, dass die Deklaration, wenn sie einen Initialisierungswert hat, als Definition betrachtet wird, auch wenn extern vorangestellt wird. Zum Beispiel:

extern double pi=3.1416; //Definition, Definition ist auch eine Aussage

Übrigens kann es für dieselbe Variable nur eine Definition geben, sie kann jedoch in mehreren Dateien deklariert werden. Wenn mehrere Definitionen vorhanden sind, kommt es zu einem Neudefinitionsfehler.

Variablen, die in mehreren Dateien verwendet werden, müssen separat von der Definition deklariert werden. In diesem Fall enthält eine Datei die Definition der Variablen und die anderen Dateien, die die Variable verwenden, enthalten die Deklaration (aber nicht die Definition) der Variablen.

Zusätzlich zur Definition einer einzelnen Variablen können mehrere Variablen desselben Typs gleichzeitig definiert, ihre Namen durch Kommas getrennt und optional initialisiert werden. Zum Beispiel:

int c = 0, d, e = 1; // Definieren Sie drei ganzzahlige Variablen c, d und e, wobei c und e auf 0 und 1 initialisiert werden und d nicht initialisiert wird

Funktionsdeklaration und -definition

Die Deklaration einer Funktion informiert den Compiler über den Funktionsnamen, die Anzahl und Typen der Parameter sowie den Rückgabetyp der Funktion, stellt jedoch nicht die Implementierung der Funktion bereit. Zum Beispiel:

int Max(int ​​x, int y);

Im obigen Code lautet der Funktionsname Max, der Rückgabetyp ist int und die Parameter sind int x, int y

Funktionsdefinition

Die Definition einer Funktion umfasst den Funktionskörper sowie die Parametertypen, den Rückgabetyp und den Funktionsnamen der Funktion. In einer Funktionsdefinition definiert der Programmierer den Code, der ausgeführt werden soll, um die Funktion im Programm aufzurufen. Reserviert Speicher für Funktionen, zum Beispiel:

int Max(int ​​x, int y) {

    x > y zurückgeben? x : y;

}

Der Unterschied zwischen Funktionsdeklaration und -definition

Solange eine Funktion eine Implementierung hat (der Funktionskörper { } existiert), handelt es sich um eine Definition, andernfalls um eine Deklaration. Es kann folgendermaßen verstanden werden: Eine Funktionsdeklaration erklärt, was die Funktion ist, und eine Funktionsdefinition erklärt, was die Funktion tut.

Wenn eine Funktion in mehreren Dateien verwendet werden muss, sollten Sie die Funktion übrigens in einer Datei definieren und in einer anderen Datei deklarieren, damit der Compiler die Definition und Deklaration der Funktion korrekt verknüpfen kann.

externes Schlüsselwort

Beispiel für die Verwendung des Schlüsselworts extern zum Deklarieren von Konstanten und Funktionen in C++:

Deklarieren Sie die Header-Datei abc.h mit folgendem Inhalt:

extern const int MAX_VALUE; // 声明常量MAX_VALUE
extern void showMessage(); // 声明函数showMessage

Implementierungsdatei abc.cpp , der Inhalt ist wie folgt:

#include "abc.h"
const int MAX_VALUE = 100; // 定义并初始化常量MAX_VALUE

#include <iostream>
void showMessage() {   // 定义函数showMessage
    std::cout << "Hello, World!" << std::endl;
}

In der Testdatei verwendet demo.app die Konstanten und Funktionen in der Datei „abc.h“. Der Inhalt lautet wie folgt:

#include "abc.h"
#include <iostream>

int main() {
    std::cout << "Max value: " << MAX_VALUE << std::endl; // 使用常量MAX_VALUE
    showMessage(); // 调用函数showMessage
    return 0;
}

In diesem Beispiel deklarieren wir eine Konstante MAX_VALUE und die Funktion showMessage in der Datei abc.h mit dem Schlüsselwort extern und definieren dann die Konstante MAX_VALUE und die Funktion showMessage in der Datei abc.cpp. Diese Konstanten und Funktionen werden in der Testdatei demo.app verwendet.

Die Schritte zur Verwendung von Dev-C++ zum Kompilieren und Ausführen von C++-Quellcode mit benutzerdefinierten Header-Dateien sind wie folgt:
Öffnen Sie Dev-C++ und erstellen Sie ein neues Projekt.
Wählen Sie als Projekttyp „Konsolenanwendung“ auf der Basisseite aus und geben Sie dem Projekt einen Namen.
Wählen Sie im Projekt „Datei“ -> „Neu“ -> „Quelldatei“ und
fügen Sie abc.h, abc.cpp und hinzu demo.cpp-Dateien.

Referenz

Der Unterschied zwischen C++-Definition und -Deklaration https://blog.csdn.net/sjxbf/article/details/6310150

C++-Beispiel für die Platzierung einer Funktionsdeklaration in der Header-Datei https://blog.csdn.net/cnds123/article/details/132214317

Supongo que te gusta

Origin blog.csdn.net/cnds123/article/details/132379954
Recomendado
Clasificación