RM新时代网站-首页

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

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

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

【C語言經(jīng)典面試題】求數(shù)組元素的個數(shù)的宏定義

嵌入式物聯(lián)網(wǎng)開發(fā) ? 來源:嵌入式物聯(lián)網(wǎng)開發(fā) ? 作者:嵌入式物聯(lián)網(wǎng)開發(fā) ? 2022-10-02 11:58 ? 次閱讀

C語言經(jīng)典面試題】求數(shù)組元素的個數(shù)的宏定義

經(jīng)典面試題,有必要了解下!

1 問題描述

在C語言中,如何求一個數(shù)組中元素的個數(shù)呢?想想看!

2 示例代碼

為此,我簡單寫一段示例代碼:

?
#include 
#include 
?
#define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0])
?
int test_array[] = {1, 2, 3, 4, 5, 6};
?
int main(int argc, const char *argv[])
{
printf("cnt: %d\\\\\\\\n", ARRAY_SIZE(test_array));
return 0;
}

重點語句就是: #define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0])

3 總結(jié)

分析一下上面的宏定義:

先用sizeof數(shù)組求出整個數(shù)組所占的內(nèi)存大小 a;

其次用sizeof求出單個數(shù)組元素所占的內(nèi)存大小 b;

最后利用數(shù)組四線性存儲的特性,使用除法,用 a 除以 b,即可求出數(shù)組中元素的個數(shù)。

我們來看一下測試結(jié)果:

image-20220930230138696

這個與數(shù)據(jù)定義中的6個元素是保持一致的。

image-20220930230157289

4 更多分享

[架構(gòu)師李肯]

架構(gòu)師李肯全網(wǎng)同名 ),一個專注于嵌入式IoT領(lǐng)域的架構(gòu)師。有著近10年的嵌入式一線開發(fā)經(jīng)驗,深耕IoT領(lǐng)域多年,熟知IoT領(lǐng)域的業(yè)務(wù)發(fā)展,深度掌握IoT領(lǐng)域的相關(guān)技術(shù)棧,包括但不限于主流RTOS內(nèi)核的實現(xiàn)及其移植、硬件驅(qū)動移植開發(fā)、網(wǎng)絡(luò)通訊協(xié)議開發(fā)、編譯構(gòu)建原理及其實現(xiàn)、底層匯編及編譯原理、編譯優(yōu)化及代碼重構(gòu)、主流IoT云平臺的對接、嵌入式IoT系統(tǒng)的架構(gòu)設(shè)計等等。擁有多項IoT領(lǐng)域的發(fā)明專利,熱衷于技術(shù)分享,有多年撰寫技術(shù)博客的經(jīng)驗積累,堅信【知識改變命運,技術(shù)改變世界】!

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

    關(guān)注

    180

    文章

    7604

    瀏覽量

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

    關(guān)注

    1

    文章

    417

    瀏覽量

    25939
  • 宏定義
    +關(guān)注

    關(guān)注

    0

    文章

    50

    瀏覽量

    9003
收藏 人收藏

    評論

    相關(guān)推薦

    面試題】人工智能工程師高頻面試題匯總:機器學(xué)習(xí)深化篇(題目+答案)

    ,或者深度學(xué)習(xí)的框架,還有怎么優(yōu)化模型,這些都是加分項,能有效提高面試通過率。本篇小編整理了一些高頻的機器學(xué)習(xí)深化方面的面試題,這些題目都是從實際面試中總結(jié)出來的,非
    的頭像 發(fā)表于 12-16 13:42 ?1296次閱讀
    【<b class='flag-5'>面試題</b>】人工智能工程師高頻<b class='flag-5'>面試題</b>匯總:機器學(xué)習(xí)深化篇(題目+答案)

    面試題】人工智能工程師高頻面試題匯總:Transformer篇(題目+答案)

    隨著人工智能技術(shù)的突飛猛進,AI工程師成為了眾多求職者夢寐以求的職業(yè)。想要拿下這份工作,面試的時候得展示出你不僅技術(shù)過硬,還得能解決問題。所以,提前準(zhǔn)備一些面試常問的問題,比如機器學(xué)習(xí)的那些算法
    的頭像 發(fā)表于 12-13 15:06 ?448次閱讀
    【<b class='flag-5'>面試題</b>】人工智能工程師高頻<b class='flag-5'>面試題</b>匯總:Transformer篇(題目+答案)

    人工智能工程師高頻面試題匯總——機器學(xué)習(xí)篇

    ,或者深度學(xué)習(xí)的框架,還有怎么優(yōu)化模型,這些都是加分項,能有效提高面試通過率。本篇小編整理了一些高頻的機器學(xué)習(xí)方面的面試題,這些題目都是從實際面試中總結(jié)出來的,非常具
    的頭像 發(fā)表于 12-04 17:00 ?816次閱讀
    人工智能工程師高頻<b class='flag-5'>面試題</b>匯總——機器學(xué)習(xí)篇

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

    C語言數(shù)組應(yīng)用計算機導(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語言指針運算符詳解

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

    C語言中最常見的定義寫法

    如果讓你用C語言寫個定義,我相信大部分同學(xué)順手就能寫出define。
    的頭像 發(fā)表于 10-28 11:12 ?253次閱讀

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

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

    深入探索KUKA KRL中的數(shù)組應(yīng)用

    如果 CHAR 類型數(shù)組的所有數(shù)組元素都擁有相同的字符串,則不必單獨初始化每個數(shù)組元素。忽略右側(cè)的數(shù)組
    的頭像 發(fā)表于 04-18 10:37 ?1226次閱讀
    深入探索KUKA KRL中的<b class='flag-5'>數(shù)組</b>應(yīng)用

    隨機抽取SV數(shù)組中的一個元素方法實現(xiàn)

    如果想從一個關(guān)聯(lián)數(shù)組中隨機選取一個元素,需要逐個訪問它之前的元素,原因是沒辦法能夠直接訪問到第N個元素。上面的程序示范了如何從一個以整數(shù)值作為索引**的關(guān)聯(lián)
    的頭像 發(fā)表于 03-21 10:11 ?980次閱讀
    隨機抽取SV<b class='flag-5'>數(shù)組</b>中的一個<b class='flag-5'>元素</b>方法實現(xiàn)

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

    C語言中的數(shù)組只能允許程序員定義存儲相同類型數(shù)據(jù)。但是結(jié)構(gòu)是C語言編程中允許您存儲不同數(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ǔ)實現(xiàn)與應(yīng)用

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

    如何創(chuàng)建數(shù)組、添加/刪除元素、訪問數(shù)組元素、遍歷數(shù)組以及使用數(shù)組方法和函數(shù)等等。 首先,我們來看
    的頭像 發(fā)表于 01-12 15:11 ?539次閱讀

    經(jīng)典Linux面試題總結(jié)

    絕對路徑用什么符號表示?當(dāng)前目錄、上層目錄用什么表示?主目錄用什么表示? 切換目錄用什么命令?
    的頭像 發(fā)表于 01-04 11:01 ?364次閱讀

    總結(jié)常見電路面試題

    輸入信號應(yīng)提前時鐘上升沿(如上升沿有效)T時間到達(dá)芯片,這個T就是建立時間-Setup time。如不滿足setup time,這個數(shù)據(jù)就不能被這一時鐘打入觸發(fā)器,只有在下一個時鐘上升沿,數(shù)據(jù)才能被打入觸發(fā)器。
    的頭像 發(fā)表于 01-02 16:03 ?415次閱讀

    labview怎么查數(shù)組中相同元素個數(shù)

    要查找LabVIEW中數(shù)組中相同元素個數(shù),可以使用以下步驟: 創(chuàng)建一個包含要查找的數(shù)值的數(shù)組。這可以通過手動輸入數(shù)組
    的頭像 發(fā)表于 12-28 16:42 ?3477次閱讀
    RM新时代网站-首页