第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Linux C語言指針與內(nèi)存

難度初級(jí)
時(shí)長 2小時(shí) 5分
學(xué)習(xí)人數(shù)
綜合評(píng)分9.60
263人評(píng)價(jià) 查看評(píng)價(jià)
9.9 內(nèi)容實(shí)用
9.5 簡潔易懂
9.4 邏輯清晰
  • 653b80e60001ea5807110400.jpg將str指針往下移了三個(gè),將hello中第二個(gè)l替換為\0,將字符串提前結(jié)束
    查看全部
  • int *p=&a:定義的指針p是整型數(shù)據(jù),p++之后,p中的地址就會(huì)增加4個(gè)字節(jié)。

    這就是指針偏移運(yùn)算,這種方式比CPU直接取地址效率還要高,所以設(shè)計(jì)程序都會(huì)盡可能地采取這種方式。

    p+=3:將指針向下移動(dòng)3格,如果p是整型,就移動(dòng)12個(gè)字節(jié)。(等價(jià)于p[3])

    數(shù)組和指針的本質(zhì)都是地址,所以*pa=array,相當(dāng)于將array數(shù)組的地址賦值給pa指針,這樣pa[1]的功能和array[1]的功能就沒有區(qū)別了。

    數(shù)組是指針常量,
    指針是指針變量,
    指針能實(shí)現(xiàn)數(shù)組的功能,但是數(shù)組不一定能實(shí)現(xiàn)指針的功能。
    arry+=2會(huì)報(bào)錯(cuò)
    查看全部
    0 采集 收起 來源:指針運(yùn)算

    2023-10-27

  • gdb命令:

    x/3d? 地址:按照十進(jìn)制d,連續(xù)顯示3個(gè)(3)變量的地址(x),默認(rèn)間隔為4個(gè)空格
    查看全部
  • 653b46bc0001a49610660600.jpg“p”是一個(gè)地址,則“*p”是到這個(gè)地址去取里面的值,“(*p)”表示為一個(gè)整體,“(*p)(數(shù)據(jù))”若p為代碼段,則調(diào)用這個(gè)函數(shù),傳參數(shù)"數(shù)據(jù)"進(jìn)去

    查看全部
  • 最下面的內(nèi)存最先分配

    最先分配的棧地址反而更大

    棧的特點(diǎn):先進(jìn)后出

    靜態(tài)變量不在棧里頭,相同變量名稱的靜態(tài)變量分別在兩個(gè)函數(shù)里便為兩個(gè)不同變量,屬于每個(gè)函數(shù)特有的;

    全局變量為所有函數(shù)公用的。其地址不變。

    一個(gè)函數(shù)被多次調(diào)用時(shí),靜態(tài)變量指向的還是數(shù)據(jù)段一個(gè)固定的地址;即不同函數(shù)的count是不同的count,但同一個(gè)函數(shù)不管調(diào)用多少次count,它指向的都是數(shù)據(jù)段的某個(gè)地址。
    查看全部
  • 653b3ff40001011a10660600.jpg653b3ff900015b0410660600.jpg無&符,輸出變量值
    有該符,輸出地址
    查看全部
  • 變量名只是代號(hào),變量的本質(zhì)是內(nèi)存;
    在標(biāo)準(zhǔn)的C語言中,不允許直接對(duì)內(nèi)存地址進(jìn)行操作,只能是對(duì)操作系統(tǒng)已經(jīng)分配給的內(nèi)存空間進(jìn)行操作。

    int *p=&a;??? p 指針指向的變量地址; *p? 指針指向的變量值; &p 指針自己所在的地址。既然一個(gè)指針保存的是變量的地址,對(duì)32位CPU,地址有4個(gè)字節(jié),就需要4個(gè)內(nèi)存單元來存儲(chǔ),所以每次++p在內(nèi)存里都是跳4格。

    函數(shù)調(diào)用信息保存在棧(stack)中。 int *pa=&a指將a的地址傳給pa。因此p pa看到的是a的地址(&a)。 而p &pa才能看到pa本身的地址。
    查看全部
  • 653b1ee200012dc910660600.jpg653b1ee400012d4710660600.jpg
    653b1ee8000150c610660600.jpg
    代碼段放編譯后的程序,數(shù)據(jù)段放常量、變量,中間的綠色是自由可分配空間。
    查看全部
    0 采集 收起 來源:內(nèi)存管理

    2023-10-27

  • 653b1cf60001799310660600.jpg653b1cf80001bbb910660600.jpg0x表示十六進(jìn)制
    查看全部
  • 653a5b9c0001544b07110400.jpg加了地址符后的a表示一個(gè)地址,*a是去找到該地址下對(duì)應(yīng)的值653a5bd50001715907110400.jpg可以看出0中a為地址,需*a找到對(duì)應(yīng)值
    1中a為確切值
    查看全部
  • gdb?? -help完整顯示各種用法653a575f00012d2407110400.jpg(gdb)start? 開始執(zhí)行
    紅框?yàn)樽詣?dòng)設(shè)置的斷點(diǎn)為12行處653a57a60001097107110400.jpg(gdb) p a
    分別為printf a?? 即為輸出變量a
    (gdb)? n
    為換到下一行653a5891000105d007110400.jpg
    653a58930001294d07110400.jpg(gdb)? bt?? 查看函數(shù)堆棧
    堆棧像書,摞在上面先執(zhí)行653a594a0001035e07110400.jpg(gdb) f 1
    f為切換棧,即切換到棧1
    單用change,由于形參,兩個(gè)函數(shù)中a.b不同,無法改變--所以需要指針
    查看全部
    0 采集 收起 來源:gdb工具的使用

    2023-10-26

  • 653a55c700012bd007110400.jpg*a?? 表指針
    &a? 取地址
    查看全部
  • 注意:這里偏移三格指向arrary[0]是因?yàn)橹虚g有一個(gè)變量i,然后是b,然后才是array[0],而不是array[1]
    查看全部
    0 采集 收起 來源:指針運(yùn)算

    2022-06-15

  • 指針變量上加*表示:打印其保存的地址指向的值
    查看全部
    0 采集 收起 來源:指針運(yùn)算

    2022-06-15

  • 不帶&符號(hào):打印變量里面的值
    否則:打印變量的地址
    查看全部
首頁上一頁1234567下一頁尾頁

舉報(bào)

0/150
提交
取消
課程須知
本課程是C語言中級(jí)課程,為了更好的學(xué)習(xí)效果: 1、需要有一定的C語言基礎(chǔ),如果沒有基礎(chǔ)的同學(xué)可以看《C語言入門》這門課。 2、本課程是在Linux環(huán)境下講解,需要熟悉一些Linux命令。如果不了解的話可以在《Linux C語言編程基本原理與實(shí)踐》這門課程中補(bǔ)充
老師告訴你能學(xué)到什么?
1、C語言中的指針是怎么回事 2、Linux下gdb調(diào)試工具是怎樣使用的 3、指針與內(nèi)存有著怎樣的關(guān)系 4、數(shù)組與字符串之間的聯(lián)系

微信掃碼,參與3人拼團(tuán)

微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復(fù)購買,感謝您對(duì)慕課網(wǎng)的支持!