最贊回答 / qq_伽馬_0
因?yàn)橹羔樖侵苯釉L問內(nèi)存的,就好像你找東西直接有東西的地址一下就找到了,數(shù)組需要一個(gè)地址一個(gè)去找,所以指針操作效率高
2016-06-10
已采納回答 / 追逐奔跑
你想表達(dá)什么?我不是很明白,但是我估計(jì)你可能是下面的問題,所以只以為是的解釋一番,請(qǐng)斧正。(gdb) p p$6 = (int *) 0x7fffffffde6c這個(gè)時(shí)候的輸出的p的值表示p這個(gè)變量存入的地址,指的是p所代表的地址(gdb) p &p$4 = (int **) 0x7fffffffde78這個(gè)時(shí)候的輸出的值是表示p這個(gè)變量在內(nèi)存中的地址,指的是p本身的地址
2016-05-27
最贊回答 / 燃燒我的小宇宙
內(nèi)存的位寬是1個(gè)字節(jié),意思是每次訪問內(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í)行過程的每一步執(zhí)行后對(duì)結(jié)果的影響或者了解該語句的作用,則需要一種調(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)制 來 尋找這個(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也不能打出值來。換了c-free ,第三個(gè)輸出就出現(xiàn)莫名的值,我認(rèn)為這是編譯器的問題。
2016-03-26