Heim > Artikel > Backend-Entwicklung > So initialisieren Sie ein Array in der Sprache C
Drei Möglichkeiten, Arrays in der C-Sprache zu initialisieren: 1. Weisen Sie beim Definieren direkt einen Wert zu, die Syntax lautet „Datentyp arrayName[index] = {value};“ 2. Initialisieren Sie mit einer for-Schleife, die Syntax lautet „for“. (int i=0; i
Die Betriebsumgebung dieses Tutorials: Windows 7-System, c99-Version, Dell G3-Computer.
Drei Möglichkeiten, Arrays in der C-Sprache zu initialisieren
1. Direkte Zuweisung während der Definition
int arr1[3] = {0};
Der einfachste Weg, {0} zu verwenden, wird im Allgemeinen bei der Definition verwendet.
2. For-Schleifeninitialisierung
int arr2[3];
for (int i = 0; i
Der Vorteil der Verwendung einer for-Schleife besteht darin, dass jedes Element auf einen anderen Wert gesetzt werden kann.
3. Memset-Funktion
Memset-Funktion ist deklariert als:
void *memset(void *str, int c, size_t n)
wird n Bytes nach der aktuellen Position in str (typedef unsigned int size_t) ersetzen str mit c und return str.
int arr3[3];memset(arr3, 0, sizeof(int) * 3);
memset verwendet im Allgemeinen „0“, um die Speichereinheit zu initialisieren, normalerweise um das Array oder die Struktur zu initialisieren oder um das Array oder die Struktur zu löschen.
Im Allgemeinen können Variablen vom Typ char, int, float, double usw. direkt initialisiert werden. Wenn Sie Memset verwenden, ist dies problematisch.
Die Beispielcodes der drei Methoden lauten wie folgt:
Beachten Sie Folgendes: Die Memset-Funktion initialisiert den Speicherblock byteweise und kann daher nicht zum Initialisieren des int-Arrays auf andere Werte verwendet werden außer 0 und -1 .
Memset wird ein Wert von -1 oder 0 zugewiesen, und das Endergebnis ist korrekt:
Aber wenn Memset ein anderer Wert als -1 und 0 zugewiesen wird, ist das Endergebnis nicht das erwartete Wert. Wenn der Wert beispielsweise 1 ist, ist dies wie in der folgenden Abbildung dargestellt:
Da Memset jedem Byte einen Wert zuweist und bekannt ist, dass ein Int 4 Bytes lang ist, ist dies der Binärwert des Memsets Die Aufgabe lautet:
00000001 00000001 00000001 00000001 = 16843009
[Verwandte Empfehlungen: C-Sprachvideo-Tutorial, Programmierunterricht]
Das obige ist der detaillierte Inhalt vonSo initialisieren Sie ein Array in der Sprache C. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!