網(wǎng)站首頁
分類導(dǎo)航
試題中心
下載中心
英語學(xué)習(xí)
繽紛校園
考試論壇
網(wǎng)站留言
客服中心
計算機
:
等級考試
水平考試
微軟認證
思科認證
Oracle認證
Linux認證
外語類:
四 六 級
商務(wù)英語
公共英語
GRE
GMAT
托 福
雅 思
資格類:
公 務(wù) 員
報 關(guān) 員
司法考試
導(dǎo)游考試
會計職稱
注冊會計師
學(xué)歷類:
考研入學(xué)
自學(xué)考試
成人高考
法律碩士
MBA/MPA
網(wǎng)絡(luò)課堂
等級考試
水平考試
微軟認證
思科認證
Oracle認證
Linux認證
考試動態(tài)
|
報考指南
|
考試大綱
|
歷年真題
|
模擬試題
|
復(fù)習(xí)資料
|
心得技巧
|
考試論壇
您現(xiàn)在的位置:
考試吧(Exam8.com)
>>
計算機等級考試
>>
復(fù)習(xí)資料
>> 文章正文
登錄
|
注冊
|
升級VIP
馬上加入考試吧VIP
博客個性域名免費搶注
特別推薦
最新熱點
·
2006年9月23日計算機等級
·
2006年9月計算等級考試上
·
2006年9月23日全國計算機
·
2006年9月全國計算機等級
·
考試吧:2006年9月全國計
·
06年9月計算機二級公共基
·
2006年4月計算機等級考試
·
2006年全國計算機等級考
·
2006年全國計算機等級考
·
2006年4月計算機等級考試
·
2005年NCRE考試各級別的
·
2004年版南開C語言100題
·
2004年版南開C語言上機1
·
閱卷教師談等級考試
更多>>
最新推薦
·
2004年版南開C語言100題
·
閱卷教師談等級考試
·
2006年9月計算機等級考試
·
2006年計算機等級考試二
·
2006年下半年計算機等級
·
2006年4月計算機等級考試
·
全國計算機等級考試承辦
·
05年9月計算機等級考試成
·
05年9月等級考試二級C語
·
9月各地計算機等級考試報
·
2005年4月全國計算機等級
·
2005年4月計算機等級考試
·
2005年4月計算機等級考試
·
2005年4月2日二級VFP標(biāo)準(zhǔn)
更多>>
2006年精品輔導(dǎo)課程
C語言筆記 第九章 指針的安全問題
【字體:
大
小
】
C語言筆記 第九章 指針的安全問題
http://m.1glr.cn
來源:考試吧(Exam8.com) 點擊: 更新:2004-8-16
第九章 指針的安全問題
看下面的例子:
例十七:
char s='a';
int *ptr;
ptr=(int*)&s;
*ptr=1298;
指針ptr是一個int*類型的指針,它指向的類型是int。它指向的地址就是s的
首地址。在32位程序中,s占一個字節(jié),int類型占四個字節(jié)。最后一條語句不但
改變了s所占的一個字節(jié),還把和s相臨的高地址方向的三個字節(jié)也改變了。這三
個字節(jié)是干什么的?只有編譯程序知道,而寫程序的人是不太可能知道的。也許
這三個字節(jié)里存儲了非常重要的數(shù)據(jù),也許這三個字節(jié)里正好是程序的一條代碼
,而由于你對指針的馬虎應(yīng)用,這三個字節(jié)的值被改變了!這會造成崩潰性的錯
誤。
讓我們再來看一例:
例十八:
1。 char a;
2。 int *ptr=&a;
...
...
3。 ptr++;
4。 *ptr=115;
該例子完全可以通過編譯,并能執(zhí)行。但是看到?jīng)]有?第3句對指針ptr進行
自加1運算后,ptr指向了和整形變量a相鄰的高地址方向的一塊存儲區(qū)。這塊存儲
區(qū)里是什么?我們不知道。有可能它是一個非常重要的數(shù)據(jù),甚至可能是一條代
碼。而第4句竟然往這片存儲區(qū)里寫入一個數(shù)據(jù)!這是嚴(yán)重的錯誤。所以在使用指
針時,程序員心里必須非常清楚:我的指針究竟指向了哪里。
在用指針訪問數(shù)組的時候,也要注意不要超出數(shù)組的低端和高端界限,否則
也會造成類似的錯誤。
在指針的強制類型轉(zhuǎn)換:ptr1=(TYPE*)ptr2中,如果sizeof(ptr2的類型)大
于sizeof(ptr1的類型),那么在使用指針ptr1來訪問ptr2所指向的存儲區(qū)時是安
全的。如果sizeof(ptr2的類型)小于sizeof(ptr1的類型),那么在使用指針ptr1
來訪問ptr2所指向的存儲區(qū)時是不安全的。至于為什么,讀者結(jié)合例十七來想一
想,應(yīng)該會明白的。
文章錄入:蕭雨 責(zé)任編輯:蕭雨
上一篇文章:
經(jīng)典的C程序案例
下一篇文章:
C語言筆記 第八章 指針類型轉(zhuǎn)換
【
發(fā)表評論
】【
加入收藏
】【
告訴好友
】【
打印此文
】【
關(guān)閉窗口
】
相關(guān)文章
2006年9月23日計算機二級VF上機操作試題匯總
2006計算機等級考試三級網(wǎng)絡(luò)上機模擬題及詳
2006計算機等級考試三級網(wǎng)絡(luò)上機模擬題及詳
2006計算機等級考試三級網(wǎng)絡(luò)上機模擬題及詳
2006計算機等級考試二級VB上機模擬題及詳解
2006計算機等級考試二級VF上機模擬題及詳解
2006計算機等級考試二級VF上機模擬題及詳解
2006計算機等級考試二級VF上機模擬題及詳解
2006計算機等級考試二級VF上機模擬題及詳解
2006計算機等級考試二級VF上機模擬題及詳解
全國計算機等級考試二級Access考點分析之宏
全國計算機等級考試二級Access考點分析之?dāng)?shù)
版權(quán)聲明
如果本網(wǎng)站所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系
,我們將會及時處理。如轉(zhuǎn)載本網(wǎng)內(nèi)容,請注明出處。
發(fā)表評論
關(guān)于本站
網(wǎng)站聲明
廣告服務(wù)
聯(lián)系方式
付款方式
站內(nèi)導(dǎo)航
客服中心
友情鏈接
Copyright © 2004-2006
考試吧
(
Exam8.com
) All Rights Reserved
中國科學(xué)院研究生院中關(guān)村園區(qū)(北京市海淀區(qū))