RM新时代网站-首页

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

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

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

C語言求數(shù)組長(zhǎng)度的5種方法

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

1,使用 sizeof 運(yùn)算符

#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) 返回整個(gè)數(shù)組的字節(jié)大小,sizeof(array[0]) 返回?cái)?shù)組中一個(gè)元素的字節(jié)大小。通過相除可以得到數(shù)組的元素個(gè)數(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ù)組長(zhǎng)度的操作封裝在 ARRAY_LENGTH 中,使得代碼更具可讀性。

3,傳遞數(shù)組和數(shù)組長(zhǎng)度給函數(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 接受一個(gè)指向整數(shù)的指針和數(shù)組的大小,然后直接返回?cái)?shù)組的大小。


4,使用 strlen(適用于字符串?dāng)?shù)組)

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

解析:strlen 函數(shù)用于計(jì)算字符串的長(zhǎng)度,適用于以 null 結(jié)尾的字符串?dāng)?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ù)組的首地址賦給指針,然后通過指針進(jìn)行操作。這里同樣使用了 sizeof 方法。==========

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

    關(guān)注

    180

    文章

    7604

    瀏覽量

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

    關(guān)注

    1

    文章

    417

    瀏覽量

    25939
  • 運(yùn)算符
    +關(guān)注

    關(guān)注

    0

    文章

    172

    瀏覽量

    11079
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

    C語言指針運(yùn)算符詳解

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

    C語言指針詳細(xì)解析

    稱之為字符數(shù)組。 在 C語言中,因?yàn)樽址?b class='flag-5'>數(shù)組的元素內(nèi)存儲(chǔ)的都是 char 型的字符,所以字符數(shù)組的數(shù)據(jù)類型是 char 型,因而字符串實(shí)際上
    發(fā)表于 09-14 10:03

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    編寫PLC程序的7種方法

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