In der C-Sprache kann die Länge eines Arrays nicht direkt ermittelt werden, es gibt jedoch die folgenden Methoden, um sie indirekt zu ermitteln: Verwenden Sie den Operator „sizeof“, um die Größe eines einzelnen Elements zu dividieren. Verwenden Sie das Präprozessormakro „#define“, um das Array zu definieren Länge; Verwenden Sie Zeigerarithmetik, um die Array-Länge zu berechnen. Verwenden Sie dynamische Array-Bibliotheksfunktionen (z. B. array_size()).
So ermitteln Sie die Länge eines C-Arrays
In der Sprache C ist ein Array ein zusammenhängender Speicherblock, in dem Elemente desselben Typs gespeichert sind. Die Größe des Arrays wird zur Kompilierzeit bestimmt, daher kann seine Länge nicht direkt aus dem Array selbst ermittelt werden. Es gibt jedoch die folgenden Methoden, um die Länge des Arrays indirekt zu ermitteln:
1. Verwenden Sie den Operator „sizeof“.
Der Operator „sizeof
“ gibt die Größe des für den Array-Typ erforderlichen Speichers in Bytes zurück . Um die Anzahl der Elemente eines Arrays zu ermitteln, können Sie den Operator sizeof
auf den Array-Typ anwenden und die Größe der einzelnen Elemente dividieren: sizeof
运算符返回数组类型所需内存的大小,单位为字节。要获得数组的元素数量,可以将 sizeof
运算符应用于数组类型除以单个元素的大小:
<code class="c">int main() { int arr[] = {1, 2, 3, 4, 5}; int length = sizeof(arr) / sizeof(arr[0]); printf("数组长度:%d\n", length); return 0; }</code>
2. 使用 预处理器宏
预处理器宏允许您定义一个符号,该符号可以在编译时替换为一个值。您可以使用 #define
预处理器指令来定义一个宏,其中包含数组的长度:
<code class="c">#define ARRAY_LENGTH 5 int main() { int arr[] = {1, 2, 3, 4, 5}; printf("数组长度:%d\n", ARRAY_LENGTH); return 0; }</code>
3. 使用 指针运算
数组名本质上是一个指向数组第一个元素的指针。因此,您可以使用指针运算来计算数组的长度。具体来说,您可以将数组指针指向最后元素,然后减去指向第一个元素的指针,再除以元素的大小:
<code class="c">int main() { int arr[] = {1, 2, 3, 4, 5}; int *end = &arr[sizeof(arr) / sizeof(arr[0]) - 1]; int length = end - arr + 1; printf("数组长度:%d\n", length); return 0; }</code>
4. 使用 动态数组库函数
一些 C 语言库提供了动态数组库函数,允许您创建和管理动态数组。这些函数通常包含一个获取数组长度的函数,例如 array_size()
<code class="c">#include <array.h> int main() { int arr[] = {1, 2, 3, 4, 5}; int length = array_size(arr); printf("数组长度:%d\n", length); return 0; }</code>
#define
verwenden, um ein Makro zu definieren, das die Länge des Arrays enthält: 🎜rrreee🎜🎜3. Verwendung der Zeigerarithmetik 🎜🎜🎜Ein Array-Name ist im Wesentlichen ein Zeiger auf das erste Element des Arrays Zeiger auf das Element. Daher können Sie die Länge eines Arrays mithilfe der Zeigerarithmetik berechnen. Konkret können Sie den Array-Zeiger auf das letzte Element zeigen, dann den Zeiger auf das erste Element subtrahieren und durch die Größe des Elements dividieren: 🎜rrreee🎜🎜4 Verwenden Sie die dynamischen Array-Bibliotheksfunktionen 🎜🎜🎜Einige C-Bibliotheken bieten Mit den Funktionen der dynamischen Array-Bibliothek können Sie dynamische Arrays erstellen und verwalten. Zu diesen Funktionen gehört normalerweise eine Funktion, die die Länge des Arrays ermittelt, z. B. die Funktion array_size()
: 🎜rrreeeDas obige ist der detaillierte Inhalt vonSo erhalten Sie die Länge des C-Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!