精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

從面試題入手,分析不同指針類型的區(qū)別

學(xué)益得智能硬件 ? 來源:學(xué)益得智能硬件 ? 作者:學(xué)益得智能硬件 ? 2023-07-14 17:13 ? 次閱讀

如果你不太清楚int *和char *的區(qū)別,看完這道題,可能就會(huì)有所感悟。

1700c3f6-2226-11ee-962d-dac502259ad0.png

一個(gè)字符數(shù)組a,初始化成:

0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 然后定義三個(gè)指針,分別是:

short * int * int64 *這里把 int64 理解成 8 個(gè)字節(jié)的整數(shù)就行,不用管它是不是真的存在。

三個(gè)指針都初始化成數(shù)組名a,也就是數(shù)組第一個(gè)元素的地址,假設(shè)數(shù)組首元素地址是 0x100,那三個(gè)指針的值都是 0x100。

如果畫出來,就是這樣的。

17d8862e-2226-11ee-962d-dac502259ad0.png

下面就要來搞清楚 short * 和 int * 的區(qū)別。

所謂short *,表示一個(gè)指針,指向的是short類型的數(shù)據(jù)。在32位系統(tǒng)中,short類型占2字節(jié),所以指針指向的是這兩個(gè)字節(jié)。如果讓指針加一,它也會(huì)跳過兩個(gè)字節(jié)。

同理,如果是int *類型,也表示一個(gè)指針,指向int類型的數(shù)據(jù),在32位系統(tǒng)中,int類型占4字節(jié),所以指針指向的是這4個(gè)字節(jié),如果讓指針加一,他也會(huì)跳過4個(gè)字節(jié)。

再回到數(shù)組上,因?yàn)槿齻€(gè)指針類型不同,所以指向的數(shù)據(jù)長度也不同。

接下來就是取值操作。

17d8862e-2226-11ee-962d-dac502259ad0.png

*p1就是取指針 p1 指向內(nèi)存的值,但是并不能簡單的認(rèn)為結(jié)果是0x0102。也有可能是0x0201。

還好題目一開始說了,32位系統(tǒng),小端字節(jié)序。

1895a498-2226-11ee-962d-dac502259ad0.png

所謂小端,就是高地址保存高字節(jié)。

在數(shù)組里面,下標(biāo)為 0 的元素一定是低地址,所以01應(yīng)該就是低字節(jié)。

于是 *p1 是 0x0201。

18cf1dc2-2226-11ee-962d-dac502259ad0.png

*(p1 + 2)應(yīng)該會(huì)跳過4個(gè)字節(jié),剛才說了,short *類型的指針,加一會(huì)跳過2個(gè)字節(jié)。所以*(p1 + 2)的結(jié)果是0x0605。

p3因?yàn)橹赶蛄?個(gè)字節(jié),所以*p3是0x0807060504030201。

1915c8d0-2226-11ee-962d-dac502259ad0.png

最后一個(gè)*(p2 + 2),p2是int類型的指針,加2跳過了8個(gè)字節(jié),表示的是最后4個(gè)字節(jié)的地址,取值的結(jié)果就是0。

聲明:本文內(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)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6898

    瀏覽量

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

    關(guān)注

    1

    文章

    416

    瀏覽量

    25910

原文標(biāo)題:從面試題入手,分析不同指針類型的區(qū)別

文章出處:【微信號(hào):學(xué)益得智能硬件,微信公眾號(hào):學(xué)益得智能硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C/C++程序員應(yīng)聘常見面試題深入解析

    很可能只能拿到10分中的2分。讀者可從本文看到strcpy函數(shù)2分到10分解答的例子,看看自己屬于什么樣的層次。此外,還有一些面試題考查面試者敏捷的思維能力。   分析這些
    發(fā)表于 03-26 10:16

    java基礎(chǔ)練習(xí)、面試題

    java基礎(chǔ)練習(xí)、面試題整理了java私塾教材的課后作業(yè),基礎(chǔ)部分,面試中也常常遇到的基礎(chǔ)問題,趕緊下載了。下載: [hide][/hide]
    發(fā)表于 07-16 14:02

    java經(jīng)典面試題深度解析

    回答面試題Int 與Integer的區(qū)別第三節(jié) 以數(shù)據(jù)結(jié)構(gòu)挖掘集合面試考點(diǎn)第四節(jié) 經(jīng)典面試題重載與重寫第五節(jié) 如何回答面試官提問Java的接
    發(fā)表于 06-20 15:16

    12個(gè)常見的C語言面試題

    12個(gè)C語言面試題,涉及指針、進(jìn)程、運(yùn)算、結(jié)構(gòu)體、函數(shù)、內(nèi)存
    發(fā)表于 12-31 06:36

    c語言面試題,c++面試題下載

    c語言面試題,c++面試題1. static有什么用途?(請(qǐng)至少說明兩種) 1) 限制變量的作用域 2) 設(shè)置變量的存儲(chǔ)域 2. 引用與指針有什么區(qū)別? 
    發(fā)表于 10-22 11:19 ?5次下載

    c語言面試題

    c語言面試題集(單片機(jī))C language problem(20151125084232)
    發(fā)表于 12-18 14:05 ?9次下載

    c語言面試題

    c語言面試題
    發(fā)表于 11-05 16:48 ?0次下載

    C語言經(jīng)典面試題

    面試題
    發(fā)表于 12-20 22:41 ?0次下載

    C語言經(jīng)典面試題

    C語言 經(jīng)典面試題
    發(fā)表于 01-05 11:27 ?0次下載

    經(jīng)典硬件面試題精選及解答

    經(jīng)典硬件面試題精選及解答
    發(fā)表于 11-29 18:02 ?0次下載

    Java的經(jīng)典面試題和答案詳細(xì)說明

    發(fā)現(xiàn)網(wǎng)上很多Java面試題都沒有答案,所以花了很長時(shí)間搜集整理出來了這套Java面試題大全,希望對(duì)大家有幫助哈~ 博主已將以下這些面試題整理成了一個(gè)Java面試手冊(cè),題型非常全面附帶答
    發(fā)表于 09-07 08:00 ?0次下載
    Java的經(jīng)典<b class='flag-5'>面試題</b>和答案詳細(xì)說明

    常見的MySQL高頻面試題

    在各類技術(shù)崗位面試中,似乎 MySQL 相關(guān)問題經(jīng)常被問到。無論你面試開發(fā)崗位或運(yùn)維崗位,總會(huì)問幾道數(shù)據(jù)庫問題。經(jīng)常有小伙伴私信我,詢問如何應(yīng)對(duì) MySQL 面試題。其實(shí)很多面試題都是
    的頭像 發(fā)表于 02-08 16:05 ?2359次閱讀

    關(guān)于數(shù)組常見的面試題

    數(shù)組是最基本的數(shù)據(jù)結(jié)構(gòu),關(guān)于數(shù)組的面試題也屢見不鮮,本文羅列了一些常見的面試題,僅供參考。目前有以下18道題目。
    的頭像 發(fā)表于 08-17 09:25 ?1621次閱讀

    【C語言經(jīng)典面試題】函數(shù)指針數(shù)組的定義是怎么樣的?

    經(jīng)典面試題,有必要了解下!
    的頭像 發(fā)表于 10-05 16:35 ?2244次閱讀
    【C語言經(jīng)典<b class='flag-5'>面試題</b>】函數(shù)<b class='flag-5'>指針</b>數(shù)組的定義是怎么樣的?

    分享10道有趣的嵌入式C語言面試題及答案

    10個(gè)C語言面試題,涉及指針、進(jìn)程、運(yùn)算、結(jié)構(gòu)體、函數(shù)、內(nèi)存,看看你能做出幾個(gè)!
    的頭像 發(fā)表于 05-09 10:54 ?2699次閱讀