女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

指針的加法操作

學(xué)益得智能硬件 ? 來(lái)源:學(xué)益得智能硬件 ? 2023-03-29 10:12 ? 次閱讀

指針的加法操作我們見(jiàn)過(guò)很多,但是減法操作遇到的好像很少。

有這么一個(gè)筆試題:

inta[]={1,2, 3};
int *p1 = &a[0];
int *p2 = &a[2];


printf("%ld
", p2 - p1);
一個(gè)數(shù)組,兩個(gè)指針,指針p1指向數(shù)組第一個(gè)元素,指針p2指向數(shù)組第三個(gè)元素,問(wèn)p2-p1的結(jié)果是多少?

我覺(jué)得答案應(yīng)該分兩種,8或者2。

結(jié)果8是因?yàn)橐粋€(gè)整數(shù)占了4個(gè)字節(jié),兩個(gè)整數(shù)當(dāng)然是8個(gè)字節(jié)。

結(jié)果2是因?yàn)樗麄兿嗖盍藘蓚€(gè)元素。


下面還是敲代碼試一下,直接用printf輸出結(jié)果,選擇%ld作為輸出格式。
root@Turbo:test# ./test 
2
root@Turbo:test#
結(jié)果是2。

所以相同類型指針做減法操作的時(shí)候,結(jié)果還是元素的個(gè)數(shù)。

就好像p1+2加的是8個(gè)字節(jié)而不是2個(gè)字節(jié)一樣。


最后,給大家留個(gè)問(wèn)題,如果希望printf輸出的結(jié)果是8,那代碼應(yīng)該怎么修改?

答案:

對(duì)指針進(jìn)行強(qiáng)制類型轉(zhuǎn)換,可以轉(zhuǎn)換成整型或者字符型指針。
printf("%lu
", (int)p2 - (int)p1);
printf("%lu
", (char *)p2 - (char *)p1);

審核編輯:湯梓紅

聲明:本文內(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)投訴
  • 字符
    +關(guān)注

    關(guān)注

    0

    文章

    234

    瀏覽量

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

    關(guān)注

    1

    文章

    484

    瀏覽量

    70962
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4886

    瀏覽量

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

    關(guān)注

    1

    文章

    419

    瀏覽量

    26340

原文標(biāo)題:指針減法

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

收藏 人收藏

    評(píng)論

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

    函數(shù)指針的使用簡(jiǎn)述

    函數(shù)指針在Linux內(nèi)核和C語(yǔ)言開發(fā)中用的非常多,而且在設(shè)計(jì)操作系統(tǒng)的時(shí)候也會(huì)用到,因此這里將詳細(xì)講解函數(shù)指針。既然函數(shù)指針也是指針,那函數(shù)
    的頭像 發(fā)表于 09-09 08:56 ?2177次閱讀
    函數(shù)<b class='flag-5'>指針</b>的使用簡(jiǎn)述

    指針變量的基本操作

    指針變量也是一個(gè)變量,對(duì)應(yīng)一塊內(nèi)存空間,對(duì)應(yīng)一個(gè)內(nèi)存地址,指針名就是己址。這空內(nèi)存空間多大?一個(gè)機(jī)器字長(zhǎng)(machine word),32位的CPU和操作系統(tǒng)就是32個(gè)位,4個(gè)字節(jié),其值域?yàn)?/div>
    發(fā)表于 10-26 09:56 ?526次閱讀

    C語(yǔ)言:指針運(yùn)算

    元素的位置,以此類推。把一個(gè)指針減去3使它向左移動(dòng)3個(gè)元素的位置。要注意的是,如果進(jìn)行完加法或者減法運(yùn)算后,指針指向的位置不在數(shù)組的范圍內(nèi),則發(fā)生了數(shù)組越界。對(duì)這個(gè)指針執(zhí)行間接訪問(wèn),即
    發(fā)表于 01-11 15:11

    【原創(chuàng)】聊一聊內(nèi)存指針操作

    中,各種處理器都有對(duì)內(nèi)存的不同的尋址方式讀寫內(nèi)存。在高級(jí)語(yǔ)言中,C語(yǔ)言是唯一可以進(jìn)行內(nèi)存操作的語(yǔ)言,C語(yǔ)言對(duì)內(nèi)存的操作主要需要通過(guò)指針來(lái)完成。1、使用指針
    發(fā)表于 07-28 09:10

    C語(yǔ)言入門教程-指向指針指針

    指向指針指針 創(chuàng)建一個(gè)指針,使它指向另一個(gè)指針,這是可能的,而且常常也是必要的。這一技術(shù)有時(shí)被稱為句柄。在某些情況下,操作系統(tǒng)需要有自主
    發(fā)表于 07-29 12:10 ?1145次閱讀

    加法器,加法器是什么意思

    加法器,加法器是什么意思 加法器 :  加法器是為了實(shí)現(xiàn)加法的?! 〖词钱a(chǎn)生數(shù)的和的裝置。加數(shù)和被加數(shù)為輸入,和數(shù)與
    發(fā)表于 03-08 16:48 ?5683次閱讀

    補(bǔ)碼加法,補(bǔ)碼加法計(jì)算原理

    補(bǔ)碼加法,補(bǔ)碼加法計(jì)算原理    負(fù)數(shù)用補(bǔ)碼表示后,可以和正數(shù)一樣來(lái)處理。這樣,運(yùn)算器里只需要一個(gè)加法器就可以了,不必為了負(fù)數(shù)的加法運(yùn)算,再配一個(gè)減
    發(fā)表于 04-13 11:41 ?1.9w次閱讀

    為什么使用指針?C++中的“指針

    為什么使用指針?因?yàn)樵?b class='flag-5'>操作大型數(shù)據(jù)和類時(shí),指針可以通過(guò)內(nèi)存地址直接訪問(wèn)數(shù)據(jù),可避免在程序中復(fù)制大量的代碼,因此指針的效率最高。一般來(lái)說(shuō),指針
    的頭像 發(fā)表于 10-04 10:33 ?5342次閱讀

    加法器原理

    加法器是產(chǎn)生數(shù)的和的裝置。加數(shù)和被加數(shù)為輸入,和數(shù)與進(jìn)位為輸出的裝置為半加器。若加數(shù)、被加數(shù)與低位的進(jìn)位數(shù)為輸入,而和數(shù)與進(jìn)位為輸出則為全加器。常用作計(jì)算機(jī)算術(shù)邏輯部件,執(zhí)行邏輯操作、移位與指令調(diào)用
    的頭像 發(fā)表于 06-19 14:20 ?2.7w次閱讀
    <b class='flag-5'>加法</b>器原理

    理解函數(shù)指針、函數(shù)指針數(shù)組、函數(shù)指針數(shù)組的指針

    理解函數(shù)指針、函數(shù)指針數(shù)組、函數(shù)指針數(shù)組的指針
    的頭像 發(fā)表于 06-29 15:38 ?1.5w次閱讀
    理解函數(shù)<b class='flag-5'>指針</b>、函數(shù)<b class='flag-5'>指針</b>數(shù)組、函數(shù)<b class='flag-5'>指針</b>數(shù)組的<b class='flag-5'>指針</b>

    加法器工作原理_加法器邏輯電路圖

    加法器是產(chǎn)生數(shù)的和的裝置。加數(shù)和被加數(shù)為輸入,和數(shù)與進(jìn)位為輸出的裝置為半加器。若加數(shù)、被加數(shù)與低位的進(jìn)位數(shù)為輸入,而和數(shù)與進(jìn)位為輸出則為全加器。常用作計(jì)算機(jī)算術(shù)邏輯部件,執(zhí)行邏輯操作、移位與指令調(diào)用
    發(fā)表于 02-18 14:40 ?3.4w次閱讀
    <b class='flag-5'>加法</b>器工作原理_<b class='flag-5'>加法</b>器邏輯電路圖

    STM32位帶引申的指針變量問(wèn)題

    位帶操作牽涉到的一個(gè)重要知識(shí)點(diǎn)就是指針變量。這種位帶映射操作,就是操作映射過(guò)后的地址,其實(shí)就是操作指針
    發(fā)表于 02-08 15:57 ?3次下載
    STM32位帶引申的<b class='flag-5'>指針</b>變量問(wèn)題

    加法器的原理及采用加法器的原因

    有關(guān)加法器的知識(shí),加法器是用來(lái)做什么的,故名思義,加法器是為了實(shí)現(xiàn)加法的,它是一種產(chǎn)生數(shù)的和的裝置,那么加法器的工作原理是什么,為什么要采用
    的頭像 發(fā)表于 06-09 18:04 ?5582次閱讀

    串行加法器和并行加法器的區(qū)別?

    串行加法器和并行加法器是兩種基本的數(shù)字電路設(shè)計(jì),用于執(zhí)行二進(jìn)制數(shù)的加法運(yùn)算。它們?cè)谠O(shè)計(jì)哲學(xué)、性能特點(diǎn)以及應(yīng)用場(chǎng)景上有著明顯的區(qū)別。
    的頭像 發(fā)表于 05-23 15:06 ?3633次閱讀

    C語(yǔ)言指針運(yùn)算符詳解

    在C語(yǔ)言中,當(dāng)你有一個(gè)指向數(shù)組中某個(gè)元素的指針時(shí),你可以對(duì)該指針執(zhí)行某些算術(shù)運(yùn)算,例如加法或減法。這些運(yùn)算可以用來(lái)遍歷數(shù)組中的元素,如ptr[i]等價(jià)于*(ptr + i)。然而,如果你的操作
    的頭像 發(fā)表于 10-30 11:16 ?608次閱讀