0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

C語言求數(shù)組長度的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) 返回整個數(shù)組的字節(jié)大小,sizeof(array[0]) 返回數(shù)組中一個元素的字節(jié)大小。通過相除可以得到數(shù)組的元素個數(shù)。

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;}

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

3,傳遞數(shù)組和數(shù)組長度給函數(shù)

#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;}

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


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

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

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


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;}

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

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

    關(guān)注

    180

    文章

    7604

    瀏覽量

    136824
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    417

    瀏覽量

    25947
  • 運算符
    +關(guān)注

    關(guān)注

    0

    文章

    172

    瀏覽量

    11084
收藏 人收藏

    評論

    相關(guān)推薦

    C語言數(shù)組應(yīng)用計算機導論A第6講:數(shù)組

    C語言數(shù)組應(yīng)用計算機導論A第6講:數(shù)組
    發(fā)表于 11-20 15:33 ?0次下載

    解讀版|Air780E軟件中C語言內(nèi)存數(shù)組的神秘面紗!

    今天我們來揭開Air780E 軟件中 C 語言內(nèi)存數(shù)組的神秘面紗,希望有所收獲。
    的頭像 發(fā)表于 11-17 10:00 ?251次閱讀
    解讀版|Air780E軟件中<b class='flag-5'>C</b><b class='flag-5'>語言</b>內(nèi)存<b class='flag-5'>數(shù)組</b>的神秘面紗!

    C語言指針運算符詳解

    C語言中,當你有一個指向數(shù)組中某個元素的指針時,你可以對該指針執(zhí)行某些算術(shù)運算,例如加法或減法。這些運算可以用來遍歷數(shù)組中的元素,如ptr[i]等價于*(ptr + i)。然而,如果
    的頭像 發(fā)表于 10-30 11:16 ?255次閱讀

    C語言指針詳細解析

    稱之為字符數(shù)組。 在 C語言中,因為字符數(shù)組的元素內(nèi)存儲的都是 char 型的字符,所以字符數(shù)組的數(shù)據(jù)類型是 char 型,因而字符串實際上
    發(fā)表于 09-14 10:03

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-shell腳本編寫之數(shù)組

    一個字符串,使用${Arr[@]},將所有成員分別打包為一個字符串。我們?nèi)匀辉趍yshell.sh中進行演示,在該文件中定義數(shù)組Arr,分別使用三方式進行打?。簣?zhí)行并打?。?、獲取數(shù)組長度數(shù)組長度獲取使用或者${#Arr[@]
    發(fā)表于 09-03 14:23

    飛凌嵌入式ElfBoard ELF 1板卡-shell腳本編寫之數(shù)組

    件中定義數(shù)組Arr,分別使用三方式進行打?。簣?zhí)行并打?。?、獲取數(shù)組長度數(shù)組長度獲取使用或者${#Arr[@]},在腳本中加入:執(zhí)行腳本,可以看到數(shù)組大小為3:
    發(fā)表于 08-30 09:25

    pwm脈寬調(diào)制的四種方法有哪些

    于電機控制、LED調(diào)光、音頻處理等領(lǐng)域。以下是四常見的PWM脈寬調(diào)制方法: 固定頻率PWM(Fixed-Frequency PWM) 固定頻率PWM是一最基本的PWM調(diào)制方法。在這
    的頭像 發(fā)表于 08-08 15:10 ?1336次閱讀

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

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

    嵌入式中零長度數(shù)組基本操作方法

    C語言長度數(shù)組,聽起來可能有點奇怪,因為它沒有分配內(nèi)存空間,無法存儲數(shù)據(jù)。但實際上,零長度數(shù)組在Linux內(nèi)核中隨處可見。 零長度數(shù)組的定
    的頭像 發(fā)表于 05-11 08:49 ?941次閱讀
    嵌入式中零<b class='flag-5'>長度數(shù)組</b>基本操作<b class='flag-5'>方法</b>

    嵌入式系統(tǒng)中C語言結(jié)構(gòu)體的基礎(chǔ)實現(xiàn)與應(yīng)用

    C語言中的數(shù)組只能允許程序員定義存儲相同類型數(shù)據(jù)。但是結(jié)構(gòu)是C語言編程中允許您存儲不同數(shù)據(jù)類型的數(shù)據(jù)。
    發(fā)表于 03-12 14:29 ?502次閱讀
    嵌入式系統(tǒng)中<b class='flag-5'>C</b><b class='flag-5'>語言</b>結(jié)構(gòu)體的基礎(chǔ)實現(xiàn)與應(yīng)用

    c語言,c++,java,python區(qū)別

    C語言、C++、Java和Python是四常見的編程語言,各有優(yōu)點和特點。 C
    的頭像 發(fā)表于 02-05 14:11 ?2389次閱讀

    傳統(tǒng)激光功率衰減的三種方法

    傳統(tǒng)激光功率衰減通常使用以下三種方法,分別為中性密度衰減片衰減法、偏振衰減法、鍍膜光學鏡片衰減法。
    的頭像 發(fā)表于 01-20 10:42 ?1756次閱讀
    傳統(tǒng)激光功率衰減的三<b class='flag-5'>種方法</b>

    PHP中數(shù)組的使用方法!

    PHP中數(shù)組的使用方法! PHP是一廣泛使用的網(wǎng)絡(luò)編程語言,它的數(shù)組功能非常強大且靈活。數(shù)組
    的頭像 發(fā)表于 01-12 15:11 ?551次閱讀

    labview與sql數(shù)據(jù)庫連接5種方法

    連接LabVIEW和SQL數(shù)據(jù)庫是一常見的需求,可以通過多種方法實現(xiàn)。本文將介紹五連接LabVIEW和SQL數(shù)據(jù)庫的方法。 方法一:使用
    的頭像 發(fā)表于 01-07 16:01 ?4908次閱讀

    編寫PLC程序的7種方法

    種方法是最原始最初級的寫法,也是最簡單的一寫法,比如第一步置位M0,M0接通后控制某個結(jié)果,結(jié)果實現(xiàn)后復(fù)位M0,再置位M1,依次進行l(wèi)流程控制。這種寫法通用所有的PLC。
    發(fā)表于 01-02 11:08 ?1.2w次閱讀
    編寫PLC程序的7<b class='flag-5'>種方法</b>