91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

嵌入式物聯(lián)網(wǎng)開發(fā) ? 來(lái)源:嵌入式物聯(lián)網(wǎng)開發(fā) ? 作者:嵌入式物聯(lián)網(wǎng)開發(fā) ? 2022-10-02 11:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

1 問(wèn)題描述

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

2 示例代碼

為此,我簡(jiǎn)單寫一段示例代碼:

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

重點(diǎn)語(yǔ)句就是: #define ARRAY_SIZE(a) sizeof(a) / sizeof(a[0])

3 總結(jié)

分析一下上面的宏定義:

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

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

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

我們來(lái)看一下測(cè)試結(jié)果:

image-20220930230138696

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

image-20220930230157289

4 更多分享

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

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

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

    關(guān)注

    183

    文章

    7644

    瀏覽量

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

    關(guān)注

    1

    文章

    420

    瀏覽量

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

    關(guān)注

    0

    文章

    51

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    C語(yǔ)言插入排序算法和代碼

    (int a[],int n); //插入排序?qū)崿F(xiàn),這里按從小到大排序 void insert_sort(int a[],int n)//n為數(shù)組a的元素個(gè)數(shù) { //進(jìn)行N-1輪插入過(guò)程
    發(fā)表于 01-15 06:44

    C語(yǔ)言中實(shí)現(xiàn)函數(shù)的三種方式

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

    單片機(jī)c語(yǔ)言定義字節(jié)怎么定義?

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

    瑞薩RA系列FSP庫(kù)開發(fā)實(shí)戰(zhàn)指南之定義傳輸源和目標(biāo)存儲(chǔ)器

    數(shù)組由于有const聲明為常量,因此其數(shù)據(jù)存儲(chǔ)在內(nèi)部Flash 中,DST_Buffer為普通的全局變量,其數(shù)據(jù)存儲(chǔ)在RAM中。這兩個(gè)數(shù)組的大小由定義BUFFER_SIZE來(lái)決定。
    的頭像 發(fā)表于 12-15 11:09 ?4104次閱讀
    瑞薩RA系列FSP庫(kù)開發(fā)實(shí)戰(zhàn)指南之<b class='flag-5'>定義</b>傳輸源和目標(biāo)存儲(chǔ)器

    C語(yǔ)言的編程技巧

    1、定義使用do{...}while(0)?:當(dāng)定義中包含多條語(yǔ)句時(shí),使用do{...}while(0)可以避免語(yǔ)句嵌套問(wèn)題,確保的獨(dú)
    發(fā)表于 11-27 06:46

    數(shù)組的初體驗(yàn)

    袋中的物品是按一定順序放置的。 1.我們來(lái)看一下如何聲明一個(gè)數(shù)組: 數(shù)據(jù)類型 數(shù)組名稱[長(zhǎng)度]; 數(shù)組只聲明也不行啊,看一下數(shù)組是如何初始化的。說(shuō)到初始化,
    發(fā)表于 11-25 08:06

    C語(yǔ)言拼接運(yùn)算符典型使用

    C語(yǔ)言中,##運(yùn)算符(稱為[size=16.002px]標(biāo)記拼接運(yùn)算符)用于定義中將兩個(gè)標(biāo)記(token)拼接成一個(gè)新的標(biāo)記。它在預(yù)處理階段處理,常用于動(dòng)態(tài)生成變量名、函數(shù)名或類型
    發(fā)表于 11-20 08:27

    人工智能工程師高頻面試題匯總:循環(huán)神經(jīng)網(wǎng)絡(luò)篇(題目+答案)

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

    用30道電子工程師面試題來(lái)拷問(wèn)墮落的你...

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

    C語(yǔ)言中的內(nèi)聯(lián)函數(shù)與

    C編程中,內(nèi)聯(lián)函數(shù)和都用于避免函數(shù)調(diào)用的開銷并編寫可復(fù)用的邏輯部分,但它們?cè)诠ぷ鞣绞胶桶踩苑矫娲嬖陲@著差異。
    的頭像 發(fā)表于 07-25 15:10 ?1922次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>中的內(nèi)聯(lián)函數(shù)與<b class='flag-5'>宏</b>

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

    硬件面試題之一 1、下面是一些基本的數(shù)字電路知識(shí)問(wèn)題,請(qǐng)簡(jiǎn)要回答之。 (1) 什么是 Setup 和 Hold 時(shí)間? 答:Setup/Hold Time 用于測(cè)試芯片對(duì)輸入信號(hào)和時(shí)鐘信號(hào)之間的時(shí)間
    發(fā)表于 06-26 15:34

    《ESP32S3 Arduino開發(fā)指南》第三章 C/C++語(yǔ)言基礎(chǔ)

    構(gòu)成的集合。數(shù)組概念的引入,使得在處理多個(gè)相同類型的數(shù)據(jù)時(shí)程序更加清晰和簡(jiǎn)潔。 定義方式如下:數(shù)據(jù)類型 數(shù)組名稱[數(shù)組元素
    發(fā)表于 06-10 09:20

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

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

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

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

    stm32 DMA串口接收到數(shù)組,數(shù)組元素順序錯(cuò)亂怎么解決?

    配置DMA循環(huán)模式,使用HAL_UART_Receive_DMA(&huart1,buffer,4)函數(shù)將串口數(shù)據(jù)循環(huán)發(fā)送到4個(gè)元素的buffer數(shù)組內(nèi),上位機(jī)20ms發(fā)送一次
    發(fā)表于 03-12 08:02