網(wǎng)站首頁
分類導航
試題中心
下載中心
英語學習
繽紛校園
考試論壇
網(wǎng)站留言
客服中心
計算機
:
等級考試
水平考試
微軟認證
思科認證
Oracle認證
Linux認證
外語類:
四 六 級
商務英語
公共英語
GRE
GMAT
托 福
雅 思
資格類:
公 務 員
報 關 員
司法考試
導游考試
會計職稱
注冊會計師
學歷類:
考研入學
自學考試
成人高考
法律碩士
MBA/MPA
網(wǎng)絡課堂
等級考試
水平考試
微軟認證
思科認證
Oracle認證
Linux認證
考試動態(tài)
|
報考指南
|
考試大綱
|
歷年真題
|
模擬試題
|
復習資料
|
心得技巧
|
考試論壇
您現(xiàn)在的位置:
考試吧(Exam8.com)
>>
計算機等級考試
>>
復習資料
>> 文章正文
登錄
|
注冊
|
升級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標準
更多>>
2006年精品輔導課程
C語言筆記 第二章 指針的算術運算
【字體:
大
小
】
C語言筆記 第二章 指針的算術運算
http://1glr.cn
來源:考試吧(Exam8.com) 點擊: 更新:2004-8-16
第二章 指針的算術運算
指針可以加上或減去一個整數(shù)。指針的這種運算的意義和通常的數(shù)值的加減
運算的意義是不一樣的。例如:
例二:
1。 char a[20];
2。 int *ptr=a;
...
...
3。 ptr++;
在上例中,指針ptr的類型是int*,它指向的類型是int,它被初始化為指向整
形變量a。接下來的第3句中,指針ptr被加了1,編譯器是這樣處理的:它把指針
ptr的值加上了sizeof(int),在32位程序中,是被加上了4。由于地址是用字節(jié)做
單位的,故ptr所指向的地址由原來的變量a的地址向高地址方向增加了4個字節(jié)。
由于char類型的長度是一個字節(jié),所以,原來ptr是指向數(shù)組a的第0號單元開始的
四個字節(jié),此時指向了數(shù)組a中從第4號單元開始的四個字節(jié)。
我們可以用一個指針和一個循環(huán)來遍歷一個數(shù)組,看例子:
例三:
例三:
int array[20];
int *ptr=array;
...
//此處略去為整型數(shù)組賦值的代碼。
...
for(i=0;i<20;i++)
{
(*ptr)++;
ptr++;
}
這個例子將整型數(shù)組中各個單元的值加1。由于每次循環(huán)都將指針ptr加1,所
以每次循環(huán)都能訪問數(shù)組的下一個單元。
再看例子:
例四:
1。 char a[20];
2。 int *ptr=a;
...
...
3。 ptr+=5;
在這個例子中,ptr被加上了5,編譯器是這樣處理的:將指針ptr的值加上5
乘sizeof(int),在32位程序中就是加上了5乘4=20。由于地址的單位是字節(jié),故
現(xiàn)在的ptr所指向的地址比起加5后的ptr所指向的地址來說,向高地址方向移動了
20個字節(jié)。在這個例子中,沒加5前的ptr指向數(shù)組a的第0號單元開始的四個字節(jié)
,加5后,ptr已經指向了數(shù)組a的合法范圍之外了。雖然這種情況在應用上會出問
題,但在語法上卻是可以的。這也體現(xiàn)出了指針的靈活性。
如果上例中,ptr是被減去5,那么處理過程大同小異,只不過ptr的值是被減
去5乘sizeof(int),新的ptr指向的地址將比原來的ptr所指向的地址向低地址方
向移動了20個字節(jié)。
總結一下,一個指針ptrold加上一個整數(shù)n后,結果是一個新的指針ptrnew,
ptrnew的類型和ptrold的類型相同,ptrnew所指向的類型和ptrold所指向的類型
也相同。ptrnew的值將比ptrold的值增加了n乘sizeof(ptrold所指向的類型)個字
節(jié)。就是說,ptrnew所指向的內存區(qū)將比ptrold所指向的內存區(qū)向高地址方向移
動了n乘sizeof(ptrold所指向的類型)個字節(jié)。
一個指針ptrold減去一個整數(shù)n后,結果是一個新的指針ptrnew,ptrnew的類
型和ptrold的類型相同,ptrnew所指向的類型和ptrold所指向的類型也相同。pt
rnew的值將比ptrold的值減少了n乘sizeof(ptrold所指向的類型)個字節(jié),就是說
,ptrnew所指向的內存區(qū)將比ptrold所指向的內存區(qū)向低地址方向移動了n乘siz
eof(ptrold所指向的類型)個字節(jié)。
文章錄入:蕭雨 責任編輯:蕭雨
上一篇文章:
C語言筆記 第三章 運算符&和*
下一篇文章:
C語言筆記 第一章 指針的概念
【
發(fā)表評論
】【
加入收藏
】【
告訴好友
】【
打印此文
】【
關閉窗口
】
相關文章
2006年9月23日計算機二級VF上機操作試題匯總
2006計算機等級考試三級網(wǎng)絡上機模擬題及詳
2006計算機等級考試三級網(wǎng)絡上機模擬題及詳
2006計算機等級考試三級網(wǎng)絡上機模擬題及詳
2006計算機等級考試二級VB上機模擬題及詳解
2006計算機等級考試二級VF上機模擬題及詳解
2006計算機等級考試二級VF上機模擬題及詳解
2006計算機等級考試二級VF上機模擬題及詳解
2006計算機等級考試二級VF上機模擬題及詳解
2006計算機等級考試二級VF上機模擬題及詳解
全國計算機等級考試二級Access考點分析之宏
全國計算機等級考試二級Access考點分析之數(shù)
版權聲明
如果本網(wǎng)站所轉載內容不慎侵犯了您的權益,請與我們聯(lián)系
,我們將會及時處理。如轉載本網(wǎng)內容,請注明出處。
發(fā)表評論
關于本站
網(wǎng)站聲明
廣告服務
聯(lián)系方式
付款方式
站內導航
客服中心
友情鏈接
Copyright © 2004-2006
考試吧
(
Exam8.com
) All Rights Reserved
中國科學院研究生院中關村園區(qū)(北京市海淀區(qū))