已采納回答 / 追逐奔跑
你想表達什么?我不是很明白,但是我估計你可能是下面的問題,所以只以為是的解釋一番,請斧正。(gdb) p p$6 = (int *) 0x7fffffffde6c這個時候的輸出的p的值表示p這個變量存入的地址,指的是p所代表的地址(gdb) p &p$4 = (int **) 0x7fffffffde78這個時候的輸出的值是表示p這個變量在內(nèi)存中的地址,指的是p本身的地址
2016-05-27
已采納回答 / 咸魚干兒
因為在RAM內(nèi)存中最小的存儲單位是8bit也就是1Byte,但是地址總線是32位,所以可以尋址的空間是2^32=4G個最小存儲單位,也就是4GB。編號的數(shù)字大小不代表內(nèi)存最小存儲單位的大小呀。
2016-03-09
已采納回答 / qq_朕有一車刁民_0
==為什么不會被覆蓋,不過你要想避免被覆蓋就把數(shù)組分為全局和局部的,兩個都是全局的肯定會被后者覆蓋,前者全局后者局部的,在局部使用的數(shù)組不會被覆蓋。
2016-02-15
已采納回答 / lifeforme
對于這個問題 請教了一些大神 ? ?給我的答案是:在你調(diào)試的時候,系統(tǒng)運行在保護模式,內(nèi)存不會溢出。你所看到的地址其實是系統(tǒng)映射出來的,實際上不存在。你以為你在訪問某地址 其實并沒有真正訪問具體的內(nèi)存地址
2016-02-04
已采納回答 / 小蝸牛不回頭
首先,int *p, *表示p是一個指針變量,int 表示指針p指向整形變量。其次,C語言規(guī)定指針變量占四個字節(jié),四個字節(jié)里面(如p)存放的是指向的變量的地址值(a的地址值,好比家的門牌號)
2015-12-19
已采納回答 / DoDream
等號左邊的意思是定義一個函數(shù)指針pquadrate,將quadrate函數(shù)的地址賦給pquadrate,quadrate是一個返回值是int,有一個int參數(shù)的函數(shù)。推薦你一個不錯的網(wǎng)站,百度搜索C++技術(shù)網(wǎng),第一個就是了,里面有一些C語言的教程,那些人寫得挺用心,通俗易懂,能學的東西還挺多,這個網(wǎng)站還有很多不錯的資源可以下載,例如電子書,IDE等,如果你技術(shù)上來了,還可以去做一下里面的練習小項目,感覺收獲豐富。
2015-10-26
已采納回答 / onemoo
編譯器不會對數(shù)組訪問越界進行檢查。因為數(shù)組和指針是有密切聯(lián)系的,很多時候編譯器無法確定你訪問的位置是否在合理的范圍內(nèi),所以編譯器就干脆對此不檢查了。 ?實踐中,有經(jīng)驗的程序員經(jīng)常活用這種數(shù)組和指針的關(guān)系。當然,你這兩行代碼確實是錯的,對array[3]的訪問確實越界了。雖然能編譯通過,但運行時可能會發(fā)生錯誤。
2015-10-24
已采納回答 / 霧青依
這是因為int array[2]還有一個為'\0'的結(jié)束數(shù)組符,而int array[]={0,1}則沒有'\0'這個結(jié)束符
2015-10-11