国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

【C語言經典面試題】求數組元素的個數的宏定義

嵌入式物聯網開發 ? 來源:嵌入式物聯網開發 ? 作者:嵌入式物聯網開發 ? 2022-10-02 11:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

C語言經典面試題】求數組元素的個數的宏定義

經典面試題,有必要了解下!

1 問題描述

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

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 總結

分析一下上面的宏定義:

先用sizeof數組求出整個數組所占的內存大小 a;

其次用sizeof求出單個數組元素所占的內存大小 b;

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

我們來看一下測試結果:

image-20220930230138696

這個與數據定義中的6個元素是保持一致的。

image-20220930230157289

4 更多分享

[架構師李肯]

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

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

    關注

    183

    文章

    7644

    瀏覽量

    145565
  • 數組
    +關注

    關注

    1

    文章

    420

    瀏覽量

    27351
  • 宏定義
    +關注

    關注

    0

    文章

    51

    瀏覽量

    9412
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    C語言插入排序算法和代碼

    (int a[],int n); //插入排序實現,這里按從小到大排序 void insert_sort(int a[],int n)//n為數組a的元素個數 { //進行N-1輪插入過程
    發表于 01-15 06:44

    C語言中實現函數的三種方式

    ] [tr][td]4. ({}) 方式 ({}) 為 GNU C 擴展的語法,非 C 語言的原生語法。 INT_SWAP 使用 ({}) 封裝后形態如下: #define I
    發表于 12-29 07:34

    單片機c語言定義字節怎么定義

    定義位可以用***it但是定義字節呢?還有就是比如匯編中的DPTR的DPH和DPL在c語言中怎樣定義的呢?
    發表于 12-29 06:32

    瑞薩RA系列FSP庫開發實戰指南之定義傳輸源和目標存儲器

    數組由于有const聲明為常量,因此其數據存儲在內部Flash 中,DST_Buffer為普通的全局變量,其數據存儲在RAM中。這兩個數組的大小由定義BUFFER_SIZE來決定。
    的頭像 發表于 12-15 11:09 ?4078次閱讀
    瑞薩RA系列FSP庫開發實戰指南之<b class='flag-5'>定義</b>傳輸源和目標存儲器

    C語言的編程技巧

    1、定義使用do{...}while(0)?:當定義中包含多條語句時,使用do{...}while(0)可以避免語句嵌套問題,確保的獨
    發表于 11-27 06:46

    數組的初體驗

    袋中的物品是按一定順序放置的。 1.我們來看一下如何聲明一個數組: 數據類型 數組名稱[長度]; 數組只聲明也不行啊,看一下數組是如何初始化的。說到初始化,
    發表于 11-25 08:06

    C語言拼接運算符典型使用

    C語言中,##運算符(稱為[size=16.002px]標記拼接運算符)用于定義中將兩個標記(token)拼接成一個新的標記。它在預處理階段處理,常用于動態生成變量名、函數名或類型
    發表于 11-20 08:27

    人工智能工程師高頻面試題匯總:循環神經網絡篇(題目+答案)

    后臺私信雯雯老師,備注:循環神經網絡,領取更多相關面試題隨著人工智能技術的突飛猛進,AI工程師成為了眾多求職者夢寐以求的職業。想要拿下這份工作,面試的時候得展示出你不僅技術過硬,還得能解決問題。所以
    的頭像 發表于 10-17 16:36 ?703次閱讀
    人工智能工程師高頻<b class='flag-5'>面試題</b>匯總:循環神經網絡篇(題目+答案)

    用30道電子工程師面試題來拷問墮落的你...

    今天用30道電子工程師面試題來拷問墮落的你,你能扛住第幾題?1、下面是一些基本的數字電路知識問題,請簡要回答之。(1)什么是Setup和Hold時間?答:Setup/HoldTime用于測試芯片
    的頭像 發表于 10-15 17:37 ?1126次閱讀
    用30道電子工程師<b class='flag-5'>面試題</b>來拷問墮落的你...

    C語言中的內聯函數與

    C編程中,內聯函數和都用于避免函數調用的開銷并編寫可復用的邏輯部分,但它們在工作方式和安全性方面存在顯著差異。
    的頭像 發表于 07-25 15:10 ?1905次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>中的內聯函數與<b class='flag-5'>宏</b>

    最全的硬件工程師筆試試題

    硬件面試題之一 1、下面是一些基本的數字電路知識問題,請簡要回答之。 (1) 什么是 Setup 和 Hold 時間? 答:Setup/Hold Time 用于測試芯片對輸入信號和時鐘信號之間的時間
    發表于 06-26 15:34

    《ESP32S3 Arduino開發指南》第三章 C/C++語言基礎

    構成的集合。數組概念的引入,使得在處理多個相同類型的數據時程序更加清晰和簡潔。 定義方式如下:數據類型 數組名稱[數組元素
    發表于 06-10 09:20

    【硬件方向】名企面試筆試真題:大疆創新校園招聘筆試題

    名企面試筆試真題:大疆創新校園招聘筆試題-硬件 是幾年前的題目,不過值得參考一下哦 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內容有幫助可以關注、點贊、評論支持一下哦~)
    發表于 05-16 17:31

    硬件工程師面試必看試題(經典)

    硬件工程師面試試題 模擬電路 1、基爾霍夫定理的內容是什么?(仕蘭微電子) 2、平板電容公式(C=εS/4πkd)。(未知) 3、最基本的如三極管曲線特性。(未知) 4、描述反饋電路的概念
    發表于 04-21 15:36

    stm32 DMA串口接收到數組數組元素順序錯亂怎么解決?

    配置DMA循環模式,使用HAL_UART_Receive_DMA(&huart1,buffer,4)函數將串口數據循環發送到4個元素的buffer數組內,上位機20ms發送一次
    發表于 03-12 08:02