<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C語言求數組長度的5種方法

撞上電子 ? 2023-11-19 08:00 ? 次閱讀

1,使用 sizeof 運算符

#include
int main() { int array[] = {1, 2, 3, 4, 5}; unsignedchar length=sizeof(array)/sizeof(array[0]);
printf("Array length: %d\n", length);
return 0;}

解析:sizeof(array) 返回整個數組的字節大小,sizeof(array[0]) 返回數組中一個元素的字節大小。通過相除可以得到數組的元素個數。

2,使用宏定義

#include
#define ARRAY_LENGTH(arr) (sizeof(arr) / sizeof(arr[0]))
int main() { int array[] = {1, 2, 3, 4, 5}; unsigned char length = ARRAY_LENGTH(array);
printf("Array length: %d\n", length);
return 0;}

解析:這里使用了宏定義,將獲取數組長度的操作封裝在 ARRAY_LENGTH 中,使得代碼更具可讀性。

3,傳遞數組和數組長度給函數

#include
unsigned char getArrayLength(int *arr, size_t size) { return size;}
int main() { int array[] = {1, 2, 3, 4, 5}; unsigned char length = getArrayLength(array, sizeof(array) / sizeof(array[0]));
printf("Arraylength:%d\n",length); return 0;}

解析:函數 getArrayLength 接受一個指向整數的指針和數組的大小,然后直接返回數組的大小。


4,使用 strlen(適用于字符串數組)

#inlude#include
int main() { char strArray[] = "Hello, World!"; unsigned char length = strlen(strArray);
printf("StringArraylength:%d\n",length);
return 0;}

解析:strlen 函數用于計算字符串的長度,適用于以 null 結尾的字符串數組。


5,使用指針

#include
int main() { int array[] = {1, 2, 3, 4, 5}; int *ptr = array; unsigned char length = sizeof(array) / sizeof(*ptr);
printf("Array length: %d\n", length);
return 0;}

解析:將數組的首地址賦給指針,然后通過指針進行操作。這里同樣使用了 sizeof 方法。==========

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7548

    瀏覽量

    131343
  • 數組
    +關注

    關注

    1

    文章

    409

    瀏覽量

    25659
  • 運算符
    +關注

    關注

    0

    文章

    163

    瀏覽量

    10962
收藏 人收藏

    評論

    相關推薦

    在一個.c文件中定義一個數組遇到的疑問求解

    在一個.c文件中定義一個數組,然后在其他文件中引用,用sizeof求數組長度,那么按說是必須要聲明這個數組,并且應該指明數組的大小,但是是不
    發表于 05-14 07:03

    嵌入式中零長度數組基本操作方法

    C語言長度數組,聽起來可能有點奇怪,因為它沒有分配內存空間,無法存儲數據。但實際上,零長度數組在Linux內核中隨處可見。 零長度數組的定義 首先,我們要明白什么是零
    的頭像 發表于 05-11 08:49 ?516次閱讀
    嵌入式中零<b class='flag-5'>長度數組</b>基本操作<b class='flag-5'>方法</b>

    PHP中數組的使用方法!

    PHP中數組的使用方法! PHP是一種廣泛使用的網絡編程語言,它的數組功能非常強大且靈活。數組是一種數據結構,它允許我們在單個變量中存儲多個
    的頭像 發表于 01-12 15:11 ?232次閱讀

    在VisualDSP++中,設置數組長度到一定的時候出現內存溢出的情況怎么解決?

    在VisualDSP++中,設置數組長度到一定的時候出現內存溢出的情況,但是目前設置的數組并不大。 問題吐下 [Error li1040] \".21489 AD1939 C
    發表于 11-29 07:29

    C語言數組的用法

    C語言數組是一種數據結構,它可以存儲多個相同類型的數據,例如整數,字符,浮點數等。數組的每個元素都有一個索引,用來表示它在數組中的位置。數組
    的頭像 發表于 11-24 17:48 ?919次閱讀
    C<b class='flag-5'>語言</b>中<b class='flag-5'>數組</b>的用法

    c語言數組怎么定義

    C語言中,數組是一種用來存儲相同類型元素的數據結構。它可以存儲多個元素,并通過一個共同的名稱來引用這些元素。數組是一種很重要的數據結構,可以用于解決很多實際的問題。 在C語言中,定義
    的頭像 發表于 11-24 10:11 ?1405次閱讀

    C語言如何創建數組

    C語言是一種非常強大和靈活的編程語言,它提供了若干數據類型來存儲和操作數據。其中之一就是數組,它可以用來存儲一系列具有相同數據類型的元素。本文將詳細介紹如何在C語言中創建
    的頭像 發表于 11-24 10:08 ?1027次閱讀

    c語言數組中查找指定元素

    的操作,本文將詳細介紹C語言中如何在數組中進行查找,并提供幾種常用的查找算法和技巧。 在開始之前,我們先來了解一下數組的基本概念和使用方法。數組
    的頭像 發表于 11-24 10:07 ?1902次閱讀

    C語言獲取文件長度的兩種方法

    C語言中沒有直接獲取文件長度的接口,但是我們可以使用標準庫提供的函數來間接的獲取文件長度。這里提供兩種方法。
    的頭像 發表于 10-10 16:15 ?763次閱讀
    C<b class='flag-5'>語言</b>獲取文件<b class='flag-5'>長度</b>的兩<b class='flag-5'>種方法</b>

    數組的定義 什么是數組

    數組 數組是內置類型,是一組同類型數據的集合,它是值類型,通過從0開始的下標索引訪問元素值。 在初始化后長度是固定的,無法修改其長度。當作為方法
    的頭像 發表于 10-09 09:39 ?1489次閱讀

    在定義數組的時候,這個數組長度可以是變量嗎?

    在定義數組的時候,這個數組長度可以是變量嗎
    發表于 10-09 08:58

    C語言中怎么定義一個不定長度數組?

    C語言中怎么定義一個不定長度數組
    發表于 10-09 07:40

    零長數組如何使用定長包定義數據緩沖區

    零長數組 請先思考以下問題: C語言中,數組長度是否可以為0? 如果要接收一個不定長數據包,你會如何定義數據緩沖區? 第一個問題 : 在標準C語言中,沒有
    的頭像 發表于 09-27 14:58 ?484次閱讀

    132計算數組長度

    編程語言函數代碼
    充八萬
    發布于 :2023年07月26日 01:06:06

    C 語言數組的基本結構

    數組是最基本的數據結構,關于數組的面試題也屢見不鮮,本文羅列了一些常見的面試題,僅供參考。目前有以下18道題目。 數組求和 求數組的最大值和最小值
    的頭像 發表于 06-22 10:56 ?423次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>