Heim  >  Artikel  >  Backend-Entwicklung  >  So ermitteln Sie die Länge eines Arrays in der Sprache C

So ermitteln Sie die Länge eines Arrays in der Sprache C

小老鼠
小老鼠Original
2024-05-08 17:45:28905Durchsuche

Es gibt zwei Möglichkeiten, die Länge eines Arrays in der C-Sprache zu ermitteln: Verwenden Sie den Operator sizeof(): length = sizeof(arr) / sizeof(arr[0]); verwenden Sie das Makro: #define ARRAY_LENGTH(arr) (sizeof( arr) / sizeof (arr[0]));

So ermitteln Sie die Länge eines Arrays in der Sprache C

So erhalten Sie die Länge eines Arrays in der Sprache C

In der Sprache C ist ein Array eine Datenstruktur, die eine Sammlung von Daten speichern kann vom gleichen Typ. Im Gegensatz zu anderen Programmiersprachen gibt es in C keinen integrierten Mechanismus, um die Länge eines Arrays zu ermitteln. Daher müssen wir die Array-Länge über andere Methoden ermitteln.

Methode 1: Verwenden Sie den Operator „sizeof()“

Der Operator „sizeof()“ gibt die Anzahl der Bytes zurück, die von einer Variablen oder Datenstruktur im Speicher belegt werden. Sie können damit die Array-Länge wie folgt berechnen: sizeof() 运算符返回变量或数据结构在内存中占用的字节数。可以用它来计算数组长度,方法如下:

<code class="c">#include <stdio.h>

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int length = sizeof(arr) / sizeof(arr[0]);
    printf("数组长度: %d\n", length);

    return 0;
}</code>

在这个例子中,arr 是一个整数数组。sizeof(arr) 返回整个数组占用的字节数,sizeof(arr[0])

<code class="c">#define ARRAY_LENGTH(arr) (sizeof(arr) / sizeof(arr[0]))</code>
In diesem Beispiel ist arr ein Array aus ganzen Zahlen. sizeof(arr) gibt die Anzahl der vom gesamten Array belegten Bytes zurück, sizeof(arr[0]) gibt die Anzahl der von einem einzelnen Array-Element belegten Bytes zurück. Indem wir Ersteres durch Letzteres dividieren, erhalten wir die Länge des Arrays.

Methode 2: Makros verwenden

Wir können ein Makro definieren, um die Array-Länge zu erhalten. Makros sind Präprozessoranweisungen, die zur Kompilierungszeit erweitert werden. Zum Beispiel:

<code class="c">#include <stdio.h>

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int length = ARRAY_LENGTH(arr);
    printf("数组长度: %d\n", length);

    return 0;
}</code>
Jetzt können wir ein Makro verwenden, um die Array-Länge zu ermitteln:

rrreee Hinweis:

  • Diese Methoden funktionieren nur für statische Arrays mit bekannter Länge.
  • Wenn die Länge des Arrays variabel ist (z. B. ein dynamisch zugewiesenes Array), müssen Sie andere Methoden verwenden, um die Länge des Arrays zu verfolgen.
🎜

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie die Länge eines Arrays 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