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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

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

難度初級
時長 2小時 5分
學(xué)習(xí)人數(shù)
綜合評分9.60
263人評價 查看評價
9.9 內(nèi)容實(shí)用
9.5 簡潔易懂
9.4 邏輯清晰
  • vi main.c調(diào)出主程序
    查看全部
  • \0字符串結(jié)束;gcc main.c編譯程序;gcc -g main.c調(diào)試程序
    查看全部
  • gdb./a.out
    查看全部
  • p=&a,/a.out,start,list,:wq,vi main.c,gcc main.c,gcc -g main.c,./a.out
    查看全部
    0 采集 收起 來源:指針運(yùn)算

    2018-03-22

  • n,p,bt,x/1d,gdb,gcc -g main.c,.a/out,
    查看全部
  • 變量的本質(zhì)是內(nèi)存空間,用來指示內(nèi)存地址位置 指針的本質(zhì)就是地址,指針(數(shù)據(jù)類型)所表示的內(nèi)存空間里存儲的是另一個內(nèi)存地址
    查看全部
  • p;指針指向的變量地址 *p;指針指向的變量值 &p;指針自己所在的地址 既然一個指針保存的是變量的地址,對32位CPU,地址有4個字節(jié),就需要4個內(nèi)存單元來存儲,所以每次++p在內(nèi)存里都是跳4格。
    查看全部
  • 靜態(tài)變量、常量、全局變量都是存在于數(shù)據(jù)段中 靜態(tài)變量每個函數(shù)特有的,是不同的變量 全局變量指向同一個變量
    查看全部
  • 1.編譯命令:gcc -g main.c -o main.out; 2.調(diào)試命令:gdb ./main.out; 3.調(diào)試器: (gdb)list:列出源代碼; (gdb)break line-number:在指定行數(shù)打斷點(diǎn); (gdb)start:開啟單步調(diào)試; (gdb)p a:打印a變量在內(nèi)存中的情況; (gdb)n:執(zhí)行到下一句; (gdb)s:進(jìn)入函數(shù)內(nèi)部; (gdb)bt:查看函數(shù)堆棧; (gdb)f 1:切換到編號為1的函數(shù)中; (gdb)q:退出調(diào)試;
    查看全部
    0 采集 收起 來源:gdb工具的使用

    2015-08-12

  • 內(nèi)存分析的很牛逼啊。
    查看全部
  • 因?yàn)槠浯娣旁诖a段里所有是不能被修改的
    查看全部
  • 以初始話的字符數(shù)組不能再寫入字符
    查看全部
  • 棧內(nèi)存中,gcc編譯會作內(nèi)存優(yōu)化:1)使同一數(shù)據(jù)結(jié)構(gòu)的變量在一起;2)先定義的變量內(nèi)存地址會小于后定義的;3) 只有堆內(nèi)存和棧內(nèi)存可以寫入數(shù)據(jù),代碼段的內(nèi)存編譯以后無法修改。
    查看全部
  • 內(nèi)存對齊之二篇 cpu對內(nèi)存的操作有對并的概念: 如果操作1字節(jié)的數(shù)據(jù),可以是任意地址,如果是操作2字節(jié)的數(shù)據(jù),如果開始地址在偶數(shù)地址,一次就可以取2字節(jié),如果開始地址在奇數(shù),就要2次內(nèi)存操作才能完成;如果操作4字節(jié)的數(shù)據(jù),最好開始地址在能被4整除的數(shù)值上,這樣用一條32位的內(nèi)存操作指令完成。8字節(jié)的開始位置最好的能被8整除的數(shù)值上,這樣用一條64位的內(nèi)存操作指令完成。就是說,如果對齊了,一次就可以完成,不對齊,就可能多次才能完成。編譯程序處理時也有對齊處理,一般的結(jié)構(gòu)體和對象等估計(jì)都有對齊的處理(把結(jié)構(gòu)體或?qū)ο蟮拈_始位置定在邊界上),這樣,只要你在結(jié)構(gòu)體里對象之間能處理好對齊,你的數(shù)據(jù)就能操作得很快。 有時你定義了一個結(jié)構(gòu)體,用了若干字節(jié),但不是8或4的倍數(shù),但你查內(nèi)存時能發(fā)現(xiàn)它們占用的是8或4的倍數(shù)(多用了幾個字節(jié)),就是這個原因。 比如32位機(jī),32根地址線,32根數(shù)據(jù)線,取數(shù)時,cpu的32根據(jù)地址線與內(nèi)存的0-3號地址對齊,cpu的32位的數(shù)據(jù)線也同樣,一個讀取周期只能取這0-3地址的3個字節(jié)。如果你是取3-4地址的數(shù)據(jù),CPU會自動把它分解成2次取數(shù)據(jù)操作,一次取8位的3單元和一次取8位4單元數(shù)據(jù)。 只有開始地址是0、4、8...的32位的數(shù)據(jù)操作才能一次操作完成,內(nèi)存不支持從1號單元開始的4字節(jié)讀,CPU和內(nèi)存的數(shù)據(jù)線必須相應(yīng)數(shù)據(jù)線對齊才行。 如果要沒有這個限制,CPU和內(nèi)存的制作成本就會高一些。況且,CPU和內(nèi)存的控制總線標(biāo)準(zhǔn)是早就規(guī)定好了的,造CPU的生產(chǎn)出了有你這種功能的CPU,但內(nèi)存不支持,必須某年某月國際上協(xié)商出了新的標(biāo)準(zhǔn),你的這種想法才可能實(shí)現(xiàn)。
    查看全部
  • 內(nèi)存對齊之一篇: 為了加快計(jì)算機(jī)的取數(shù)速度,編譯器默認(rèn)對內(nèi)存進(jìn)行字節(jié)對齊。對結(jié)構(gòu)體(包括類)進(jìn)行字節(jié)對齊的原則是:1)結(jié)構(gòu)體變量的首地址能夠被其最寬基本類型成員的大小所整除;2)結(jié)構(gòu)體每個成員相對于結(jié)構(gòu)體首地址的偏移量(offset)都是成員大小的整數(shù)倍,如有需要編譯器會在成員之間加上填充字節(jié);3)結(jié)構(gòu)體的總大小為結(jié)構(gòu)體最寬基本類型成員大小的整數(shù)倍,如有需要編譯器會在最末一個成員之后加上填充字節(jié)。 struct SByte1 { double d; // 偏移量 0~7 char j; // 偏移量8 int a; // 偏移量12~15,由于9不能整除4,故先填充9~11 }; sizeof(SByte1); // = 16 struct SByte2 { char j; // 偏移量0 double d; // 偏移量8~15,由于1不能整除8,故先填充1~7 int a; // 偏移量16~19 }; sizeof(SByte2); // = 24,為了湊成8的倍數(shù),填充20~23
    查看全部

舉報(bào)

0/150
提交
取消
課程須知
本課程是C語言中級課程,為了更好的學(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
您的移動學(xué)習(xí)伙伴

公眾號

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

友情提示:

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