在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

【C語言進階】數(shù)組名和指針使用sizeof有什么不同?

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

C語言進階】數(shù)組名和指針使用sizeof有什么不同?

本文介紹一個比較常見的錯誤,是跟sizeof有關(guān)的,不知你是否有掌握呢?

1 問題說明

大家都知道在C語言中,我們會使用sizeof來求一個變量的實際內(nèi)存長度,那么如果是對數(shù)組名求sizeof,以及對一個指針求sizeof,它的結(jié)果有何不一樣呢?

2 示例代碼

為此,簡單寫了一段測試代碼:

?
#include 
?
int main(int argc, const char *argv[])
{
int a[10];
int *p = &a;
?
printf("sizeof(a) = %d\\n", sizeof(a));
?
printf("sizeof(p) = %d\\n", sizeof(p));

return 0;
}

3 代碼解讀

代碼其實很簡單,先是定義了一個10個元素的整型數(shù)組,然后定義了一個指向整型類型的指針,并將指針指向數(shù)組a。

隨后對a和p,分別使用sizeof來求大小。

我們來看一下運行結(jié)果:

image-20220930212558866

從運行結(jié)果,我們可以知道,兩者是完全不一樣的。

sizeof(a),是求a數(shù)組的內(nèi)存大小,理論上應該等于:10 乘以 一個整形數(shù)所占空間 = 40 字節(jié);

而如果對指針p求sizeof,它用于等于運行機器上的指針大小,比如在32位機器上,這個值就是4字節(jié);而我的測試機器是64位機器,所以其值為8字節(jié)。

4 總結(jié)

sizeof求數(shù)組和指針是兩個不同的操作,對數(shù)組它是求數(shù)組的整體內(nèi)存大小,而對指針,其值用于等于機器的字長(即不同的機器有不同的測試結(jié)果)。

這個易犯錯的知識點,你get到了嗎?

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

    關(guān)注

    180

    文章

    7613

    瀏覽量

    137245
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3633

    瀏覽量

    93853
  • 指針
    +關(guān)注

    關(guān)注

    1

    文章

    480

    瀏覽量

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

    關(guān)注

    1

    文章

    417

    瀏覽量

    25988
  • sizeof
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    6440
收藏 人收藏

    評論

    相關(guān)推薦

    C語言數(shù)組名指針

    指針C/C++語言的特色,而數(shù)組名指針太多的相
    發(fā)表于 08-27 17:48 ?739次閱讀

    C語言中指針數(shù)組數(shù)組指針的區(qū)別

    指針數(shù)組之間存在著緊密的關(guān)系。在本文中,我們將探討指針數(shù)組的關(guān)系、指針算術(shù)和數(shù)組遍歷、多維
    發(fā)表于 08-17 15:29 ?421次閱讀

    從編譯器角度分析C語言數(shù)組名指針的區(qū)別

    數(shù)組名卻不可以,正如你可以騎走一輛自行車,但是不能騎走一棵樹。另外,C語言數(shù)組下標改寫成指針偏移量的根本原因是
    發(fā)表于 06-23 23:36

    C語言入門教程-用指針操作數(shù)組

    C語言入門教程 在C語言中,數(shù)組指針的關(guān)系十分密切。要想有效地使用
    發(fā)表于 07-29 12:18 ?1502次閱讀

    C語言入門教學之數(shù)組資料總結(jié)免費下載

    本文檔的主要內(nèi)容詳細介紹的是C語言入門教學之數(shù)組資料總結(jié)免費下載主要內(nèi)容包括了:1 一維數(shù)組的定義和一維數(shù)組元素的引用2 一維
    發(fā)表于 10-23 17:53 ?5次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>入門教學之<b class='flag-5'>數(shù)組</b>資料總結(jié)免費下載

    指針數(shù)組都是C語言的精髓所在 兩者何聯(lián)系區(qū)別

    指針數(shù)組都是C語言的精髓所在,對于很多C程序員來說,如果你問這樣一個問題:數(shù)組
    的頭像 發(fā)表于 05-27 14:51 ?4179次閱讀
    <b class='flag-5'>指針</b>和<b class='flag-5'>數(shù)組</b>都是<b class='flag-5'>C</b><b class='flag-5'>語言</b>的精髓所在 兩者<b class='flag-5'>有</b>何聯(lián)系區(qū)別

    C語言中指針數(shù)組

    #define SIZE 10int arry[SIZE]={0,1,2,3,4,5,6,7,8,9}; //數(shù)組名arry表示數(shù)組首元素的地址*int p,temp;//可直接初始化定義指針
    發(fā)表于 01-13 13:11 ?3次下載
    <b class='flag-5'>C</b><b class='flag-5'>語言中指針</b>與<b class='flag-5'>數(shù)組</b>

    C語言指針數(shù)組的區(qū)別

    C語言教程中我們使用通過數(shù)組名通過偏移和指針偏移都可以遍歷數(shù)組,那么指針
    的頭像 發(fā)表于 07-18 16:29 ?1951次閱讀

    C語言進階】“數(shù)組指針”和“指針數(shù)組”都是啥跟啥?

    C語言進階】“數(shù)組指針”和“指針數(shù)組”都是啥跟啥?
    的頭像 發(fā)表于 08-31 13:21 ?1936次閱讀

    C語言進階C語言指針的高階用法

    C語言進階C語言指針的高階用法
    的頭像 發(fā)表于 08-31 13:24 ?2362次閱讀

    C語言中的char數(shù)組和char指針什么區(qū)別?

    讓我們通過下面的例子,來了解 C語言中字符數(shù)組和字符指針之間的區(qū)別。
    的頭像 發(fā)表于 01-29 16:35 ?2772次閱讀

    C語言數(shù)組元素的指針

    C語言調(diào)用函數(shù)時虛實結(jié)合的方法都是采用“值傳遞”方式,當用變量名作為函數(shù)參數(shù)時傳遞的是變量的值,當用數(shù)組名作為函數(shù)參數(shù)時。 由于數(shù)組名代表的是
    的頭像 發(fā)表于 03-10 14:45 ?957次閱讀

    C語言中什么是指針數(shù)組

    C語言中一個數(shù)組,若其元素均為指針類型數(shù)據(jù),稱為指針數(shù)組,也就是說,
    的頭像 發(fā)表于 03-10 15:26 ?1827次閱讀

    C++數(shù)組名數(shù)組拷貝詳解

    C++數(shù)組間賦值不能直接通過數(shù)組名稱 randy = sesame進行,因為數(shù)組名并不是指針,大部分情況下,編譯器會隱式轉(zhuǎn)換為指向
    發(fā)表于 08-21 15:09 ?476次閱讀
    <b class='flag-5'>C</b>++<b class='flag-5'>數(shù)組名</b>和<b class='flag-5'>數(shù)組</b>拷貝詳解

    數(shù)組指針不能混用的情況

    指針的基本概念。數(shù)組是一組相同類型的元素的集合,而指針是一個變量,它存儲了一個地址,該地址指向內(nèi)存中的某個位置。在 C/C++ 中,
    的頭像 發(fā)表于 12-07 13:46 ?629次閱讀
    主站蜘蛛池模板: 2020av在线| 黄色网在线看| 天天综合色天天综合| 色黄视频网站| 亚洲视频入口| 国产精品久久久久免费| 国产成人系列| 亚洲成人一级片| 性欧美日韩| 日日噜噜夜夜狠狠久久丁香| 七月色婷婷| 狠狠做深爱婷婷久久一区| 成人免费视频一区| 亚洲大黑香蕉在线观看75| 手机在线播放视频| 狠狠操夜夜爽| 非常黄的网站| 伊人久久大香线蕉综合bd高清| 亚洲激情| 日本黄色a级| 国产乱码免费卡1卡二卡3卡四| 午夜精品久久久久久久2023| 免费一级毛片正在播放| 欧美色丁香| 怡红院色视频在线| 日本欧美午夜| 国产女人18毛片水真多18精品| 亚洲成a人片在线看| 九色视频网| 亚洲美女黄视频| 五月婷婷综合基地| 能看的黄色网址| 一本到在线观看视频不卡| 久久精品国产亚洲aa| h小视频在线| 性大特级毛片视频| 两性色午夜视频免费国产| 欧美色婷婷天堂网站| 四虎影视院| 精品你懂的| 天天躁夜夜躁狠狠躁躁|