一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

再回到數(shù)組上,因為三個指針類型不同,所以指向的數(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)該會跳過4個字節(jié),剛才說了,short *類型的指針,加一會跳過2個字節(jié)。所以*(p1 + 2)的結(jié)果是0x0605。

p3因為指向了8個字節(jié),所以*p3是0x0807060504030201。

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

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

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

    關(guān)注

    8

    文章

    7233

    瀏覽量

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

    關(guān)注

    1

    文章

    419

    瀏覽量

    26308

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

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

收藏 人收藏

    評論

    相關(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)挖掘集合面試考點第四節(jié) 經(jīng)典面試題重載與重寫第五節(jié) 如何回答面試官提問Java的接
    發(fā)表于 06-20 15:16

    12個常見的C語言面試題

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

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

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

    c語言面試題

    c語言面試題集(單片機)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)典面試題和答案詳細說明

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

    常見的MySQL高頻面試題

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

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

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

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

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

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

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