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

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

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

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

數(shù)組的下標為什么可以是負數(shù)

學益得智能硬件 ? 來源:學益得智能硬件 ? 2024-12-20 11:18 ? 次閱讀

最近有同學發(fā)來這樣一段代碼,并提出一個問題,數(shù)組的下標為什么可以是負數(shù)?

#include 


int main()
{
    const char *s = "helloworld";
    const char *p = s + 5;


    printf("%c
", p[-2]);


    return 0;
}

關(guān)鍵是這段代碼,編譯運行都很順利。

首先需要搞懂下標的作用是什么,準確的說,它是個偏移量。

比如 a[3],數(shù)組名 a 作為數(shù)組首元素地址,下標 3 表示從這個地址開始向后移動 3 個元素,至于具體是幾個字節(jié),得看什么元素。

所以 a[3] 完全等價于 *(a + 3),甚至把代碼寫成 3[a] 編譯器也沒意見,表示的都是一個意思。

如果把數(shù)組下標寫成負數(shù),就表示向前偏移。

a[-1] 就是向前偏移一個元素,很顯然,前面這塊內(nèi)存不屬于數(shù)組,不能這樣使用,所以很少見到數(shù)組下標是負數(shù)的。

但是對于這樣精心設(shè)計過的代碼,保證內(nèi)存不會越界的情況下,完全沒有問題。

s 指向了字符 h,p 指向了字符 w,p[-2] 就是往前數(shù)兩個元素,所以打印出來的就是 l。

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

    關(guān)注

    30

    文章

    4788

    瀏覽量

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

    關(guān)注

    1

    文章

    417

    瀏覽量

    25945

原文標題:數(shù)組的下標可不可以是負數(shù)

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

收藏 人收藏

    評論

    相關(guān)推薦

    使用ADS8341時,其COM腳可以接負電壓嗎,最大可以是多少?

    各位好,想請教一下使用ADS8341時,其COM腳可以接負電壓嗎,最大可以是多少?比如如果接-2V會不會有問題(Vref接4V),謝謝!
    發(fā)表于 12-17 07:32

    數(shù)組名之間可以直接賦值嗎

    數(shù)組之間的賦值能不能直接使用等于號?比如這樣的代碼。 int main(){ int a[5] = {1, 2, 3, 4, 5}; int b[5] = {0}; b = a
    的頭像 發(fā)表于 11-26 11:23 ?143次閱讀

    指針數(shù)組和二維數(shù)組有沒有區(qū)別

    指針數(shù)組和二維數(shù)組有沒有區(qū)別?比如這樣的兩個代碼。 int main(){ char *s1[] = { "hello", "world", "total" }; char s2[][6
    的頭像 發(fā)表于 11-24 11:12 ?151次閱讀

    C語言數(shù)組應(yīng)用計算機導論A第6講:數(shù)組

    C語言數(shù)組應(yīng)用計算機導論A第6講:數(shù)組
    發(fā)表于 11-20 15:33 ?0次下載

    TLV320AIC3254的輸入斷開,采集噪聲數(shù)據(jù)均為負數(shù)還能聽到噪聲,請問負數(shù)的底噪是如何產(chǎn)生的?

    TLV320AIC3254的輸入斷開,采集噪聲數(shù)據(jù),發(fā)現(xiàn)所有的數(shù)據(jù)均為負數(shù),并且能聽到明顯的噪聲。想請教大家,負數(shù)的底噪是如何產(chǎn)生的?謝謝!
    發(fā)表于 10-17 07:40

    labview字符串數(shù)組轉(zhuǎn)化為數(shù)值數(shù)組

    在LabVIEW中,將字符串數(shù)組轉(zhuǎn)換為數(shù)值數(shù)組是一項常見的任務(wù),尤其是在處理數(shù)據(jù)采集、信號處理或用戶輸入時。 1. 理解LabVIEW的數(shù)據(jù)類型 在開始之前,了解LabVIEW中的數(shù)據(jù)類型是非
    的頭像 發(fā)表于 09-04 17:47 ?2340次閱讀

    解析嵌入式編程8種常用的數(shù)據(jù)結(jié)構(gòu)

    數(shù)組是固定大小的結(jié)構(gòu),可以容納相同數(shù)據(jù)類型的項目。它可以是整數(shù)數(shù)組,浮點數(shù)數(shù)組,字符串數(shù)組或什至
    發(fā)表于 05-03 10:54 ?468次閱讀
    解析嵌入式編程8種常用的數(shù)據(jù)結(jié)構(gòu)

    用PWM+DMA,然后用DAC輸出,可以是觸發(fā)輸出嗎?

    如果用PWM+DMA,然后用DAC輸出,可以是觸發(fā)輸出嗎?輸出的是否是占空比可調(diào)的方波,可以是三角波嗎?求大神解答。
    發(fā)表于 04-22 06:59

    深入探索KUKA KRL中的數(shù)組應(yīng)用

    如果 CHAR 類型數(shù)組的所有數(shù)組元素都擁有相同的字符串,則不必單獨初始化每個數(shù)組元素。忽略右側(cè)的數(shù)組下標。(對于一維
    的頭像 發(fā)表于 04-18 10:37 ?1246次閱讀
    深入探索KUKA KRL中的<b class='flag-5'>數(shù)組</b>應(yīng)用

    鴻蒙TypeScript學習第17天:【對象】

    對象是包含一組鍵值對的實例。 值可以是標量、函數(shù)、數(shù)組、對象等
    的頭像 發(fā)表于 04-15 15:33 ?673次閱讀
    鴻蒙TypeScript學習第17天:【對象】

    無功補償裝置在不投入電容的情況下顯示負數(shù)

    無功補償裝置是一種重要的電力設(shè)備,用于調(diào)節(jié)電網(wǎng)的功率因數(shù),提高電能利用效率。然而,有時在不投入電容的情況下,無功補償裝置會顯示負數(shù),給用戶們一種誤導。 首先,需要明確的是,無功補償裝置的顯示負數(shù)并不
    的頭像 發(fā)表于 03-06 14:11 ?5239次閱讀

    補償控制器顯示負數(shù)如何處理

    補償控制器作為一種重要的工業(yè)自動化設(shè)備,在各種生產(chǎn)過程中起著至關(guān)重要的作用。然而,當遇到負數(shù)顯示的情況時,可能會給操作人員帶來困擾。下面將從多個方面對補償控制器顯示負數(shù)問題進行全面解析,探討應(yīng)對方法,幫助企業(yè)們更好地處理類似情況。
    的頭像 發(fā)表于 02-29 14:24 ?1410次閱讀

    數(shù)組和鏈表在內(nèi)存中的區(qū)別 數(shù)組和鏈表的優(yōu)缺點

    內(nèi)存中的存儲方式: 數(shù)組是一種連續(xù)存儲的數(shù)據(jù)結(jié)構(gòu),它將元素存儲在相鄰的內(nèi)存位置中。這使得數(shù)組的訪問效率高,可以通過下標來直接訪問任何一個元素。 鏈表是一種離散存儲的數(shù)據(jù)結(jié)構(gòu),它將元素
    的頭像 發(fā)表于 02-21 11:30 ?1036次閱讀

    PHP中數(shù)組的使用方法!

    如何創(chuàng)建數(shù)組、添加/刪除元素、訪問數(shù)組元素、遍歷數(shù)組以及使用數(shù)組方法和函數(shù)等等。 首先,我們來看一下如何創(chuàng)建一個數(shù)組。 1. 創(chuàng)建
    的頭像 發(fā)表于 01-12 15:11 ?550次閱讀

    補償控制器為什么會顯示負數(shù)

    在自動控制領(lǐng)域,補償控制器是一種常用的控制器類型,它可以對系統(tǒng)的誤差進行補償,并實現(xiàn)系統(tǒng)的穩(wěn)定性和精確性。然而,有時候我們會遇到一個問題,那就是補償控制器為什么會顯示負數(shù)
    的頭像 發(fā)表于 01-12 14:21 ?2151次閱讀
    補償控制器為什么會顯示<b class='flag-5'>負數(shù)</b>?
    主站蜘蛛池模板: 亚洲аv电影天堂网| 婷婷丁香社区| 色婷婷六月丁香在线观看| 视频1区| 四虎国产精品永久地址51| 国产女人18毛片水真多18精品| 成人淫片| 天天操天天射天天舔| 国产一级大片免费看| xxxx大片| 中国xxxxx高清免费看视频| 久久99热久久精品23| 欧美性色欧美a在线观看| 天天干天天舔天天射| www狠狠操| 黄视频免费网站| 蕾丝视频在线播放| 狠狠操天天干| 亚洲 自拍 欧美 综合| 国产精品免费观看网站| 免费在线观看的视频| 一级美女片| 五月天激情开心网| 99久久99久久久99精品齐| 国产精品久久久久久久免费大片| 亚洲三级在线视频| 97影院3| 午夜精品久久久久久| 三级黄色在线观看| 成年男人永久免费看片| 国产小视频在线看| 完整日本特级毛片| 午夜看一级特黄a大片| 高清在线免费观看| 中国女人a毛片免费全部播放| 国产视频一二区| yellow中文字幕久久网| 免费人成a大片在线观看动漫| 午夜韩国理论片在线播放| 被啪漫画羞羞漫画| 久久综合色婷婷|