首頁(yè) - 網(wǎng)校 - 萬(wàn)題庫(kù) - 直播 - 雄鷹網(wǎng)校 - 團(tuán)購(gòu) - 書(shū)城 - ? - 學(xué)習(xí)通 - 導(dǎo)航 -
首頁(yè)網(wǎng)校萬(wàn)題庫(kù)直播雄鷹網(wǎng)校團(tuán)購(gòu)書(shū)城模考論壇實(shí)用文檔作文大全寶寶起名
2015中考
法律碩士
2015高考
MBA考試
2015考研
MPA考試
在職研
中科院
考研培訓(xùn)
專(zhuān)升本
自學(xué)考試 成人高考
四 六 級(jí)
GRE考試
攻碩英語(yǔ)
零起點(diǎn)日語(yǔ)
職稱(chēng)英語(yǔ)
口譯筆譯
申碩英語(yǔ)
零起點(diǎn)韓語(yǔ)
商務(wù)英語(yǔ)
日語(yǔ)等級(jí)
GMAT考試
公共英語(yǔ)
職稱(chēng)日語(yǔ)
新概念英語(yǔ)
專(zhuān)四專(zhuān)八
博思考試
零起點(diǎn)英語(yǔ)
托福考試
托業(yè)考試
零起點(diǎn)法語(yǔ)
雅思考試
成人英語(yǔ)三級(jí)
零起點(diǎn)德語(yǔ)
等級(jí)考試
華為認(rèn)證
水平考試
Java認(rèn)證
職稱(chēng)計(jì)算機(jī) 微軟認(rèn)證 思科認(rèn)證 Oracle認(rèn)證 Linux認(rèn)證
公 務(wù) 員
導(dǎo)游考試
物 流 師
出版資格
單 證 員
報(bào) 關(guān) 員
外 銷(xiāo) 員
價(jià)格鑒證
網(wǎng)絡(luò)編輯
駕 駛 員
報(bào)檢員
法律顧問(wèn)
管理咨詢(xún)
企業(yè)培訓(xùn)
社會(huì)工作者
銀行從業(yè)
教師資格
營(yíng)養(yǎng)師
保險(xiǎn)從業(yè)
普 通 話(huà)
證券從業(yè)
跟 單 員
秘書(shū)資格
電子商務(wù)
期貨考試
國(guó)際商務(wù)
心理咨詢(xún)
營(yíng) 銷(xiāo) 師
司法考試
國(guó)際貨運(yùn)代理人
人力資源管理師
廣告師職業(yè)水平
衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格
基金從業(yè)資格
統(tǒng)計(jì)從業(yè)資格
經(jīng)濟(jì)師
精算師
統(tǒng)計(jì)師
會(huì)計(jì)職稱(chēng)
法律顧問(wèn)
ACCA考試
初級(jí)會(huì)計(jì)職稱(chēng)
資產(chǎn)評(píng)估師
高級(jí)經(jīng)濟(jì)師
注冊(cè)會(huì)計(jì)師
高級(jí)會(huì)計(jì)師
美國(guó)注冊(cè)會(huì)計(jì)師
審計(jì)師考試
國(guó)際內(nèi)審師
注冊(cè)稅務(wù)師
理財(cái)規(guī)劃師
一級(jí)建造師
安全工程師
設(shè)備監(jiān)理師
公路監(jiān)理師
公路造價(jià)師
二級(jí)建造師
招標(biāo)師考試
物業(yè)管理師
電氣工程師
建筑師考試
造價(jià)工程師
注冊(cè)測(cè)繪師
質(zhì)量工程師
巖土工程師
注冊(cè)給排水
造價(jià)員考試
注冊(cè)計(jì)量師
環(huán)保工程師
化工工程師
暖通工程師
咨詢(xún)工程師
結(jié)構(gòu)工程師
城市規(guī)劃師
材料員考試
消防工程師
監(jiān)理工程師
房地產(chǎn)估價(jià)
土地估價(jià)師
安全評(píng)價(jià)師
房地產(chǎn)經(jīng)紀(jì)人
投資項(xiàng)目管理師
環(huán)境影響評(píng)價(jià)師
土地登記代理人
寶寶起名
繽紛校園
實(shí)用文檔
入黨申請(qǐng)
英語(yǔ)學(xué)習(xí)
思想?yún)R報(bào)
作文大全
工作總結(jié)
求職招聘 論文下載 直播課堂
您現(xiàn)在的位置: 考試吧 > 軟件水平考試 > 復(fù)習(xí)資料 > 程序員 > 正文

2015軟考程序設(shè)計(jì)和程序設(shè)計(jì)語(yǔ)言知識(shí)點(diǎn)輔導(dǎo)(2)

考試吧整理“2015軟考程序設(shè)計(jì)和程序設(shè)計(jì)語(yǔ)言知識(shí)點(diǎn)輔導(dǎo)(2)”供考生參考,更多軟件水平考試資訊和備考資料清關(guān)注考試吧軟件水平考試網(wǎng)。

  點(diǎn)擊查看:2015軟考程序設(shè)計(jì)和程序設(shè)計(jì)語(yǔ)言知識(shí)點(diǎn)輔導(dǎo)匯總

  指向字符串的指針變目

  通常所說(shuō)的字符串指針就是指向字符率某字符的字符指針。因字符率存儲(chǔ)于字符數(shù)組中,所以字符串指針也就是指向數(shù)組元素的指針。

  為程序中引入的字符串常量提供存儲(chǔ)空間有兩種方法。一是把字符率常量存放在一個(gè)字符數(shù)組中。例如,

  char s[]=“I am a string.”;

  數(shù)組s共有15個(gè)元素,其中 s[14] 為'\0' 字符。對(duì)于這種情況,編譯程序根據(jù)字符串常量所需的字節(jié)數(shù)為字符數(shù)組分配存儲(chǔ),并把字符串復(fù)寫(xiě)到數(shù)組中,即對(duì)數(shù)組初始化。另一種方法是由編譯系統(tǒng)將字符串常量與程序中出現(xiàn)的其它常量一起存放在常量存儲(chǔ)區(qū)中。程序?yàn)榱四茉L(fǎng)問(wèn)存于常量存儲(chǔ)區(qū)中的字符串常量,可用一個(gè)字符指針指向它的第一個(gè)字符。當(dāng)字符串常量出現(xiàn)在表達(dá)式中時(shí),系統(tǒng)將字符率常量放入常量存儲(chǔ)區(qū),而把表達(dá)式轉(zhuǎn)換成字符指針,指向該字符串常量的第一個(gè)字符。因此,可在定義字符指針變量時(shí)給它初始化指向某字符串常量,或用字符申常量給字符指針變量賦值,這兩種方法都使字符指針指向字符串常量的第一個(gè)字符。例如,

  char *cp1,*cp2=“I am a string”;/*定義字符指針變量,并賦初值*/

  cp1=“Another string”;/* 先定義字符指針變量,然后按需要賦初值*/

  上述代碼使字符指針變量cp2指向字符率常量“I am a string”的第一個(gè)字符I,使cpl指向字符串常量“Another string”的第一個(gè)字符 A.

  指向二維數(shù)組中的某個(gè)一維數(shù)組的指針變量

  如有一個(gè)二維數(shù)組,且指針變量所指的是二維數(shù)組中的一整行,則指針變量另有一些很有意義的性質(zhì)。設(shè)有二維數(shù)組為

  int a[3][4]={{1,2,3,4},{5,6,7,8 },{ 9,10,11,12 }};

  這里,數(shù)組a有3行4列。按行來(lái)看數(shù)組a,數(shù)組a有三個(gè)元素,分別為a[0],a[1],a[2].它們又分別是一個(gè)一維數(shù)組,各有4個(gè)元素。例如,a[0]所代表的一維數(shù)組為

  a[0][0] 、a[0][l] 、a[0]p[2], a[0][3].

  一維數(shù)組名表達(dá)式的值是數(shù)組首元素(下標(biāo)為0)的地址,二維數(shù)組名a表達(dá)式是a的首行a[0]的地址。一般地,a+i可以看作二維數(shù)組a的第i+1行的首地址。

  因二維數(shù)組a能用a[0].a[1]、a[2] 分別表示它的各行,所以a[0]能表示用a[0]標(biāo)記的 a的第一行的首元素 a[0][0] 的地址;a[1] 能表示用 a[l] 標(biāo)記的 a的第二行的首元素 a[l][0] 的地址。一般地,a[i]能表示用 a[i]標(biāo)記的a的第i+1行的首元素a[i][0]的地址。由于數(shù)組的開(kāi)始地址與數(shù)組首元素的地址相同,這樣,a+i與a[i]應(yīng)有相同的值,但它們的意義不同,a+i表示用a[i]標(biāo)記的a的第i+1行的首地址,a[i]表示用a[i]標(biāo)記的a的第i+l行的首元素a[i][0]的地址。另外,因a[i]可寫(xiě)成*(a+i),所以a+i與*(a+i)也有不同意義,而值相等。a[i]或*(a+i) 表示二維數(shù)組a的元素a[i][0]的地址,即&a[i][0].根據(jù)地址運(yùn)算規(guī)則,a[i]+j即代表數(shù)組a的元素a[i][j]的地址,即&a[i][j].因a[i]與*(a+i)等價(jià),所以*(a+i) +j也與&a[i][j]等價(jià)。

  由二維數(shù)組元素a[i][j]的地址有多種表示形式,數(shù)組元素a[i][j]也有以下三種等價(jià)表示形式:*(a[i]+j)、*(*(a+i)+j)、(*(a+i))[i].特別是對(duì)于a[0][0],它的等價(jià)表示形式有*a[0]和**a.數(shù)組元素a[i][j]的地址也有三種等價(jià)的表示形式:a[i]+j、*(a+i)+j、&a[i][j] .

  也可以定義指向二維數(shù)組中某行由若干個(gè)元素所組成的一維數(shù)組的指針變量。如代碼int (*p)[4];

  定義指針變量p能指向一個(gè)由四個(gè)int型元素組成的數(shù)組。指針變量p不同于前面介紹的指向整型變量的指針。在那里,指向整型變量的指針變量指向整型數(shù)組的某個(gè)元素時(shí),指針增減1運(yùn)算,表示指針指向數(shù)組的下一個(gè)或前一個(gè)元素。在這里,p是一個(gè)指向由四個(gè)整型元素組成的數(shù)組,對(duì)p作增減1運(yùn)算,就表示向前進(jìn)或向后退四個(gè)整型元素。用例子說(shuō)明指向由若干個(gè)元素所組成的數(shù)組指針的用法,如有變量定義int a[3][4],(*p)[4] ;

  則賦值p=a+l,使p指向二維數(shù)組a的第二行,表達(dá)式p+l的值為指向二維數(shù)組a的第三行。同二維數(shù)組元素的地址計(jì)算規(guī)則相對(duì)應(yīng),若 P=a+1,則*p+j指向a[l][j];*(p+i) +j,或者p[i]則指向數(shù)組a的元素a[i+l][j].二維數(shù)組名和指向數(shù)組的指針與數(shù)組元素位置之間的關(guān)系。

  指針變安的定義、初始化和引用

  指針變量用于存放某個(gè)變量的地址。定義指針變量的一般形式為:類(lèi)型 * 指針變量名;或類(lèi)型 * 指針變量名=初值表達(dá)式;

  其中,指針變量名是標(biāo)識(shí)符,指針變量名之前的符號(hào)“*”,表示該變量是指針類(lèi)型的。而最前面的“類(lèi)型”,表示該指針變量能指向變量或函數(shù)的類(lèi)型。初值表達(dá)式是一個(gè)地址表達(dá)式,如表達(dá)式中有某變量的地址表達(dá)式,則這個(gè)變量應(yīng)是前面已定義的。

  在C語(yǔ)言中,當(dāng)定義局部指針變量時(shí),如未給它指定初值,則其值是不確定的。程序在使用它們時(shí),應(yīng)首先給它們賦值。誤用其值不確定的指針變量間接引用其它變量,會(huì)引起意想不到的錯(cuò)誤。為明確表示指針變量不指向任何變量,在C語(yǔ)言中用0值表示這種情況,記為NULL.如

  ip= NULL;

  也稱(chēng)指針值為0的指針變量為空指針。對(duì)于靜態(tài)的指針變量,如在定義時(shí)未給它指定初值,系統(tǒng)自動(dòng)給它指定初值0.

  指針變量取程序?qū)ο蟮?開(kāi)始)地址值,不能將一個(gè)整型量或任何其它非地址值賦給一個(gè)指針變量。另外,指針變量對(duì)所指向的對(duì)象也有類(lèi)型限制,不能將一個(gè)不能指向的對(duì)象的地址賦給指針變量。如有以下定義:

  int i=100,j,*ip,*intpt;

  float f,*fp;

  以下代碼如注釋所敘。

  iP=&i;/*使ip指向i*/

  intpt=ip;/*使intpt指向ip所指變量*/

  fp= &f;/*使fp指向正*/

  ip=NULL;/*使 ip不再指向任何變量*/

  相關(guān)推薦:

  2015年軟考軟件測(cè)評(píng)師基礎(chǔ)知識(shí)匯總

  2015年軟件水平考試網(wǎng)絡(luò)管理員復(fù)習(xí)筆記匯總

  各地2015年計(jì)算機(jī)軟考報(bào)名時(shí)間及報(bào)名入口匯總

文章搜索
軟件水平考試欄目導(dǎo)航
版權(quán)聲明:如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請(qǐng)注明出處。
Copyright © 2004- 考試吧軟件水平考試網(wǎng) All Rights Reserved 
中國(guó)科學(xué)院研究生院權(quán)威支持(北京)
在線(xiàn)模擬試題
考證通關(guān)殺器
考試最新資訊
學(xué)
一次通關(guān)技巧