Ich schreibe in C.
Ich habe einen neuen Typ (noFunc_menuEntry) definiert, der aus einer selbstreferentiellen Struktur besteht.
%Vor%Ich muss eine Reihe von Variablen wie folgt definieren:
%Vor%und so weiter.
Also muss ich Deklaration und Definition der Variablen trennen, da jede Variable von anderen Variablen abhängt. In einer Headerdatei habe ich die Deklaration
geschrieben %Vor%etc ..., und in einer .c-Datei in einer Funktion habe ich die Variablen initialisiert:
%Vor%usw. für die anderen Mitglieder und Variablen.
Ich möchte jedoch, dass meine Variablen const
:
Also meine Frage betrifft die Deklaration und Definition von const
Variablen des Typs, den ich definiert habe. Wie kann ich? Mache ich etwas falsch?
Natürlich, wenn ich einfach const
in der Deklaration hinzufüge, meldet der Compiler mir einen Fehler, wenn ich die Variablen initialisiere (ich versuche, schreibgeschützte Variablen zu schreiben).
Wenn diese Variablen const
sein sollen, müssen Sie die Initialisierung ohne die Funktion ausführen.
Aber zuerst behandeln wir die const
in der Typdefinition:
Dann die Deklarationen für die Header-Datei:
%Vor%Und schließlich die Definition und Initialisierung in der Quelldatei:
%Vor% Sie könnten ein Array verwenden , da ein paar item_i
impliziert, dass Sie dies möglicherweise tun müssen.
Verwenden Sie extern const
in der Deklaration in der Kopfzeile. extern
deklariert die Variable nur für die Verwendung im Programm, ohne Speicher zuzuweisen.
Fahren Sie dann mit der Definition im Wesentlichen fort
const noFunc_menuEntry menuEntry_1 = {title_1, &menuEntry_2, &menuEntry_4, &menuEntry_1, &menuEntry_5}; .. so on
Tags und Links c const self-reference struct