- 試題排行
- 最新熱點(diǎn)
- 最新推薦
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
2009年3月計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言筆試試題
2009年3月計(jì)算機(jī)等級(jí)考試二級(jí)VB筆試試題
2009年3月計(jì)算機(jī)等級(jí)考試二級(jí)VF筆試試題
2009年3月計(jì)算機(jī)等級(jí)考試三級(jí)網(wǎng)絡(luò)筆試試題
考試吧首發(fā):2009年3月等考二級(jí)Access筆試試
2009年3月計(jì)算機(jī)等級(jí)考試二級(jí)C筆試試題答案
2009年3月計(jì)算機(jī)等級(jí)考試二級(jí)VF預(yù)測(cè)試題(1)
2009年3月計(jì)算機(jī)等級(jí)考試三級(jí)數(shù)據(jù)庫(kù)筆試試題
09年3月等考三級(jí)網(wǎng)絡(luò)技術(shù)筆試模擬試題一及答
2009年3月計(jì)算機(jī)等考二級(jí)公共基礎(chǔ)筆試試題答
2009年3月計(jì)算機(jī)等級(jí)考試二級(jí)VB筆試試題
2009年3月計(jì)算機(jī)等級(jí)考試二級(jí)VF筆試試題
2009年3月計(jì)算機(jī)等級(jí)考試三級(jí)網(wǎng)絡(luò)筆試試題
考試吧首發(fā):2009年3月等考二級(jí)Access筆試試
2009年3月計(jì)算機(jī)等級(jí)考試二級(jí)C筆試試題答案
2009年3月計(jì)算機(jī)等級(jí)考試二級(jí)VF預(yù)測(cè)試題(1)
2009年3月計(jì)算機(jī)等級(jí)考試三級(jí)數(shù)據(jù)庫(kù)筆試試題
09年3月等考三級(jí)網(wǎng)絡(luò)技術(shù)筆試模擬試題一及答
2009年3月計(jì)算機(jī)等考二級(jí)公共基礎(chǔ)筆試試題答
蕭雨
C語(yǔ)言筆記 第二章 指針的算術(shù)運(yùn)算
指針可以加上或減去一個(gè)整數(shù)。指針的這種運(yùn)算的意義和通常的數(shù)值的加減
運(yùn)算的意義是不一樣的。例如:
例二:
1。 char a[20];
2。 int *ptr=a;
...
...
3。 ptr++;
在上例中,指針ptr的類型是int*,它指向的類型是int,它被初始化為指向整
形變量a。接下來(lái)的第3句中,指針ptr被加了1,編譯器是這樣處理的:它把指針
ptr的值加上了sizeof(int),在32位程序中,是被加上了4。由于地址是用字節(jié)做
單位的,故ptr所指向的地址由原來(lái)的變量a的地址向高地址方向增加了4個(gè)字節(jié)。
由于char類型的長(zhǎng)度是一個(gè)字節(jié),所以,原來(lái)ptr是指向數(shù)組a的第0號(hào)單元開(kāi)始的
四個(gè)字節(jié),此時(shí)指向了數(shù)組a中從第4號(hào)單元開(kāi)始的四個(gè)字節(jié)。
我們可以用一個(gè)指針和一個(gè)循環(huán)來(lái)遍歷一個(gè)數(shù)組,看例子:
例三:
例三:
int array[20];
int *ptr=array;
...
//此處略去為整型數(shù)組賦值的代碼。
...
for(i=0;i<20;i++)
{
(*ptr)++;
ptr++;
}
這個(gè)例子將整型數(shù)組中各個(gè)單元的值加1。由于每次循環(huán)都將指針ptr加1,所
以每次循環(huán)都能訪問(wèn)數(shù)組的下一個(gè)單元。
再看例子:
例四:
1。 char a[20];
2。 int *ptr=a;
...
...
3。 ptr+=5;
在這個(gè)例子中,ptr被加上了5,編譯器是這樣處理的:將指針ptr的值加上5
乘sizeof(int),在32位程序中就是加上了5乘4=20。由于地址的單位是字節(jié),故
現(xiàn)在的ptr所指向的地址比起加5后的ptr所指向的地址來(lái)說(shuō),向高地址方向移動(dòng)了
20個(gè)字節(jié)。在這個(gè)例子中,沒(méi)加5前的ptr指向數(shù)組a的第0號(hào)單元開(kāi)始的四個(gè)字節(jié)
,加5后,ptr已經(jīng)指向了數(shù)組a的合法范圍之外了。雖然這種情況在應(yīng)用上會(huì)出問(wèn)
題,但在語(yǔ)法上卻是可以的。這也體現(xiàn)出了指針的靈活性。
如果上例中,ptr是被減去5,那么處理過(guò)程大同小異,只不過(guò)ptr的值是被減
去5乘sizeof(int),新的ptr指向的地址將比原來(lái)的ptr所指向的地址向低地址方
向移動(dòng)了20個(gè)字節(jié)。
總結(jié)一下,一個(gè)指針ptrold加上一個(gè)整數(shù)n后,結(jié)果是一個(gè)新的指針ptrnew,
ptrnew的類型和ptrold的類型相同,ptrnew所指向的類型和ptrold所指向的類型
也相同。ptrnew的值將比ptrold的值增加了n乘sizeof(ptrold所指向的類型)個(gè)字
節(jié)。就是說(shuō),ptrnew所指向的內(nèi)存區(qū)將比ptrold所指向的內(nèi)存區(qū)向高地址方向移
動(dòng)了n乘sizeof(ptrold所指向的類型)個(gè)字節(jié)。
一個(gè)指針ptrold減去一個(gè)整數(shù)n后,結(jié)果是一個(gè)新的指針ptrnew,ptrnew的類
型和ptrold的類型相同,ptrnew所指向的類型和ptrold所指向的類型也相同。pt
rnew的值將比ptrold的值減少了n乘sizeof(ptrold所指向的類型)個(gè)字節(jié),就是說(shuō)
,ptrnew所指向的內(nèi)存區(qū)將比ptrold所指向的內(nèi)存區(qū)向低地址方向移動(dòng)了n乘siz
eof(ptrold所指向的類型)個(gè)字節(jié)。
轉(zhuǎn)帖于:計(jì)算機(jī)等級(jí)考試_考試吧
·2009年計(jì)算機(jī)等考一級(jí)WPS上機(jī)考試指導(dǎo)匯總 (2009-9-18 17:31:00)
·2009年計(jì)算機(jī)等考一級(jí)WPS上機(jī)考試指導(dǎo)(六) (2009-9-17 17:26:38)
·2009年計(jì)算機(jī)等考一級(jí)WPS上機(jī)考試指導(dǎo)(五) (2009-9-17 17:18:25)
·2009年計(jì)算機(jī)等考一級(jí)WPS上機(jī)考試指導(dǎo)(四) (2009-9-17 17:14:45)
·2009年計(jì)算機(jī)等考一級(jí)WPS上機(jī)考試指導(dǎo)(三) (2009-9-17 17:09:59)
·2009年計(jì)算機(jī)等考一級(jí)WPS上機(jī)考試指導(dǎo)(二) (2009-9-17 17:05:19)
·2009年計(jì)算機(jī)等考一級(jí)WPS上機(jī)考試指導(dǎo)(六) (2009-9-17 17:26:38)
·2009年計(jì)算機(jī)等考一級(jí)WPS上機(jī)考試指導(dǎo)(五) (2009-9-17 17:18:25)
·2009年計(jì)算機(jī)等考一級(jí)WPS上機(jī)考試指導(dǎo)(四) (2009-9-17 17:14:45)
·2009年計(jì)算機(jī)等考一級(jí)WPS上機(jī)考試指導(dǎo)(三) (2009-9-17 17:09:59)
·2009年計(jì)算機(jī)等考一級(jí)WPS上機(jī)考試指導(dǎo)(二) (2009-9-17 17:05:19)
昵 稱: * 評(píng) 分: 1分
2分
3分
4分
5分
標(biāo)題: 匿名發(fā)表 (共有條評(píng)論)查看全部評(píng)論>>
版權(quán)聲明 -------------------------------------------------------------------------------------
如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。
如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。