C語言取得數組長度的方法

小老鼠
發布: 2024-05-08 17:45:28
原創
1114 人瀏覽過

C 語言取得陣列長度有兩種方法:使用sizeof() 運算子:length = sizeof(arr) / sizeof(arr[0]);使用巨集:#define ARRAY_LENGTH(arr) (sizeof( arr) / sizeof(arr[0]));

C語言取得數組長度的方法

#C 語言取得陣列長度的方法

##在C 語言中,陣列是一種資料結構,它可以儲存相同類型的資料集合。與其他程式語言不同,C 語言中沒有內建的機制來取得數組的長度。因此,我們需要透過其他方法來獲取數組長度。

方法1:使用sizeof() 運算子

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]) 傳回單一陣列元素所佔用的位元組數。將前者除以後者,我們可以得到數組的長度。

方法 2:使用巨集

我們可以定義一個巨集來取得陣列長度。巨集是一種預處理器指令,在編譯時展開。例如:

<code class="c">#define ARRAY_LENGTH(arr) (sizeof(arr) / sizeof(arr[0]))</code>
登入後複製
現在,我們可以使用巨集來取得陣列長度:

<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>
登入後複製

注意:

##這些方法只適用於已知長度的靜態數組。
  • 如果陣列的長度是可變的(例如,動態分配的陣列),則需要使用其他方法來追蹤陣列的長度。

以上是C語言取得數組長度的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板