最贊回答 / qq_伽馬_0
因?yàn)橹羔樖侵苯釉L問(wèn)內(nèi)存的,就好像你找東西直接有東西的地址一下就找到了,數(shù)組需要一個(gè)地址一個(gè)去找,所以指針操作效率高
2016-06-10
最贊回答 / 燃燒我的小宇宙
內(nèi)存的位寬是1個(gè)字節(jié),意思是每次訪問(wèn)內(nèi)存一個(gè)地址單元的時(shí)候,可以讀/寫1個(gè)字節(jié);2^32個(gè)地址就是2^32個(gè)字節(jié)
2016-04-30
最新回答 / 某年某月某日某些遇見3168616
主函數(shù)中加入printf(“%d,%d”,x,y);會(huì)報(bào)錯(cuò);你定義的x,y的作用域于只在change函數(shù)里面可以用;如果你把這句話加入到change內(nèi)部就可以用了;
2016-04-14
最贊回答 / 小霧3378873
一段程序執(zhí)行太快了,若想知道該程序在執(zhí)行過(guò)程的每一步執(zhí)行后對(duì)結(jié)果的影響或者了解該語(yǔ)句的作用,則需要一種調(diào)試工具,讓他動(dòng)作變慢,并且隨著你的控制讓他一步一步的執(zhí)行,而且其間你可以用一些命令查看內(nèi)存,驗(yàn)證結(jié)果,這就是gdb調(diào)試工具的作用。以下是我的筆記:GDB可以對(duì)程序進(jìn)行斷點(diǎn)調(diào)試,單步調(diào)試,如果用gdb調(diào)試,需要對(duì)程序重新編譯,格式為:gcc –g main.c –o main.out這樣生成的main.out才能用gdb調(diào)試。需要注意的是,在調(diào)試的時(shí)候不能刪除原代碼文件,即main.c ,如果將main....
2016-04-11
最新回答 / 實(shí)時(shí)編程
0x1 代表一個(gè)地址??不管是32位 還是64位系統(tǒng) 都是 使用 一個(gè) 32位 2進(jìn)制 或者64位二進(jìn)制 來(lái) 尋找這個(gè)地址而地址 里面 保存的 數(shù)據(jù) 是一個(gè) 8位 2進(jìn)制數(shù)這個(gè) 8位2進(jìn)制 恰巧是一個(gè)字節(jié)? ? 所以 從0x1 到0x5? 增加了 4個(gè)字節(jié)??不管是 32位 還是64位?地址只是表達(dá) 具體位置? ? 里面的 內(nèi)容 確實(shí)個(gè)8位的 2進(jìn)制數(shù) 而已? ?
2016-04-01
最新回答 / 慕后端9788028
我按樓主程序運(yùn)行,在Linux下同樣出現(xiàn)相同的情況,執(zhí)行到循環(huán)時(shí),gdb也不能打出值來(lái)。換了c-free ,第三個(gè)輸出就出現(xiàn)莫名的值,我認(rèn)為這是編譯器的問(wèn)題。
2016-03-26
最新回答 / 用老名
斷點(diǎn)調(diào)試:選定某一行,然后選定調(diào)試工具欄最右邊那個(gè)手掌符號(hào)(F9),然后選定它旁邊那個(gè)帶箭頭的符號(hào)(F5).
2016-03-24
最贊回答 / 慕后端9788028
p[4]=101代表從初始位置(a的地址就始)以四個(gè)字節(jié)為一步,向前走4步,到達(dá)某個(gè)位置,然后對(duì)這個(gè)位置進(jìn)行初始化賦值,即把101賦給這個(gè)地址所代表的內(nèi)存空間。p[4],*p=101,p[4]代表從初始位置(a的地址就始)以四個(gè)字節(jié)為一步,向前走4步,到達(dá)某個(gè)位置。*p=101,代表此時(shí)指針指向的地址(即走了四步后所在位置)并對(duì)這個(gè)地址所在的內(nèi)存空間進(jìn)行初始化,賦值101。p+=3于p=p+3等同,加的是步數(shù),原理跟p[3]一樣
2016-03-09