Heim  >  Artikel  >  Backend-Entwicklung  >  So initialisieren Sie ein Array in der Sprache C

So initialisieren Sie ein Array in der Sprache C

青灯夜游
青灯夜游Original
2023-01-04 15:36:2623455Durchsuche

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

So initialisieren Sie ein Array in der Sprache C

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:

So initialisieren Sie ein Array in der Sprache C

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:

So initialisieren Sie ein Array in der Sprache C

So initialisieren Sie ein Array in der Sprache C

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:

So initialisieren Sie ein Array in der Sprache C

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!

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