![青牛軟件筆試心得_第1頁](http://file4.renrendoc.com/view/0a9fc640efc1346571976b3868da3a4e/0a9fc640efc1346571976b3868da3a4e1.gif)
![青牛軟件筆試心得_第2頁](http://file4.renrendoc.com/view/0a9fc640efc1346571976b3868da3a4e/0a9fc640efc1346571976b3868da3a4e2.gif)
![青牛軟件筆試心得_第3頁](http://file4.renrendoc.com/view/0a9fc640efc1346571976b3868da3a4e/0a9fc640efc1346571976b3868da3a4e3.gif)
![青牛軟件筆試心得_第4頁](http://file4.renrendoc.com/view/0a9fc640efc1346571976b3868da3a4e/0a9fc640efc1346571976b3868da3a4e4.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
青牛軟件筆試心得您需要登錄后才可以回帖 登錄| 注冊(cè)發(fā)布第一題voidmain(){inta[5]={1,2,3,4,5};int*ptr=(int*)(a+1);int*ptr2=a+1;printf("%d,%d,%d\n",*(a+1),*(ptr-1),*(ptr2-1));}輸出為2,5,1問題:中間那個(gè) 5是怎么來的?解答:inta[5]={1,2,3,4,5};此語句會(huì)讓系統(tǒng)在棧內(nèi)存中分配5個(gè)連續(xù)的int型(32位機(jī)是四個(gè)字節(jié))空間是一個(gè)指針常量,a應(yīng)該是被分配在靜態(tài)存儲(chǔ)區(qū)(不敢肯定,望大牛解惑當(dāng)然不是,是存在??臻g的動(dòng)態(tài)存儲(chǔ)的,這我自己知道),并且有一個(gè)固定的值假設(shè)該數(shù)組的首地址為4000,即a的值是4000,那麼數(shù)組元素5的地址應(yīng)該是 a[4]=4000+4*4=4016另外假設(shè)a的地址是3000int*ptr=(int*)(a+1);指針做加法時(shí),我們要關(guān)心的不是指針本身,而是指針?biāo)赶虻臄?shù)據(jù)類型很明顯a是一個(gè)指針(指針和地址的概念是等價(jià)的,若對(duì)這句話有異議,我們可以一起討論),這個(gè)指針?biāo)赶虻氖莂而a是一個(gè)數(shù)組類型(注意,這里不能將a理解為一個(gè)指針常量,數(shù)組和指針的區(qū)別還是很大的),sizeof(a)=20所以
ptr=a+1=3000+20=3020,
在將其轉(zhuǎn)換為
int*
型所以
ptr-1=3020-4=3016,
這片內(nèi)存中的數(shù)是不確定的
,所以第二個(gè)打印出來5完全是碰巧的,要不就是編譯器的問題樓主是不是這樣想的?其實(shí)這還是搞混了數(shù)組和指針記住,數(shù)組就是數(shù)組,指針就是指針,千萬不要混用(雖然有時(shí)候混用是正確的).只有當(dāng)數(shù)組以實(shí)參傳遞給函數(shù)時(shí),它才會(huì)變成指針。這道題我們應(yīng)該這樣理解:是一個(gè)int[5]型的數(shù)組,那么a自然是指向這個(gè)數(shù)組(千萬不要以為a指向一個(gè)指針常量,這就是上面所犯的錯(cuò)誤 ),那么a+1自然是指向下一個(gè)數(shù)組所以ptr=4000+20=4020 ,而不是3016。第二題voidmain(){chara[][3]={1,2,3,4,5};cout}輸出為
12345問題:a[1][2]
為啥是
0,而不是隨機(jī)值
?此題中
a[][3]
與
a[2][3]
是等價(jià)的,系統(tǒng)會(huì)自動(dòng)不上一個(gè)\3(
控制字符
)如果輸出
a[1][2]
不會(huì)輸出數(shù)值
0,因?yàn)?/p>
0對(duì)應(yīng)字符是(null) 這個(gè)控制字符,因此會(huì)啥也不輸出,只是一個(gè)空格a[0] 代表了字符數(shù)組(字符串)的首地址,大家都知道如果用cout輸出一個(gè)字符串名字(也即首地址)會(huì)輸出該字符串的內(nèi)容,因此cout三、classcls{public:virtualvoidfunc1(){}virtualvoidfunc2(){}voidfunc3(){}protected:private:staticcharm_data;};intmain(){coutsystem("pause");return0;}輸出4理由:static 變量占用的是靜態(tài)區(qū)內(nèi)存而 cls占用的是動(dòng)態(tài)區(qū),因此不含有 charm_data的內(nèi)存,func3 函數(shù)是不占用內(nèi)存的(不管是否在類內(nèi)實(shí)現(xiàn)還是在類外實(shí)現(xiàn),也不管是否有參數(shù)和返回值),實(shí)際上cls的內(nèi)存只有分配了一個(gè)虛擬函數(shù)表的地址,用來管理虛擬函數(shù)的,不論加入多少虛擬函數(shù)都只有4個(gè)字節(jié)的大小,如果把static去掉,那將輸出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店線上服務(wù)平臺(tái)建設(shè)合同
- 主持人兼職勞務(wù)合同范本
- 倉儲(chǔ)運(yùn)輸合同范文
- 高考數(shù)學(xué)(理)一輪復(fù)習(xí)教案:第十三篇 推理證明、算法、復(fù)數(shù)第2講 直接證明與間接證明
- 2025年濟(jì)南道路運(yùn)輸從業(yè)人員資格考試內(nèi)容有哪些
- 2025年西安考貨運(yùn)從業(yè)資格證題庫答案
- 孔隙結(jié)構(gòu)對(duì)大氣等離子噴涂熱障涂層沖蝕失效行為的影響
- 2025年滬教版選修4歷史下冊(cè)階段測試試卷含答案
- 2025年人教B版高三歷史下冊(cè)月考試卷含答案
- 2025年中圖版選修4地理上冊(cè)階段測試試卷含答案
- 正大天虹方矩管鍍鋅方矩管材質(zhì)書
- 2024年山東魯商集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 山東省泰安市2022年初中學(xué)業(yè)水平考試生物試題
- 受賄案例心得體會(huì)
- 人教A版高中數(shù)學(xué)選擇性必修第一冊(cè)第二章直線和圓的方程-經(jīng)典例題及配套練習(xí)題含答案解析
- 圖書館學(xué)基礎(chǔ)簡明教程
- 畢業(yè)設(shè)計(jì)(論文)-液體藥品灌裝機(jī)的設(shè)計(jì)與制造
- 二年級(jí)下冊(cè)數(shù)學(xué)教案 -《數(shù)一數(shù)(二)》 北師大版
- 銀行內(nèi)部舉報(bào)管理規(guī)定
- 平面幾何強(qiáng)化訓(xùn)練題集:初中分冊(cè)數(shù)學(xué)練習(xí)題
- 項(xiàng)目獎(jiǎng)金分配獎(jiǎng)勵(lì)制度和方案完整版
評(píng)論
0/150
提交評(píng)論