計算機概論:C/C++程式設計

 

5章、陣列和指標

 

 


授課教師:陳慶瀚

WWW : http://www.miat.ee.isu.edu.tw/cpp

E-mail : pierre@isu.edu.tw   

 


5.5 指標的應用
 
作為陣列名稱的指標
 
陣列是用來存放相同型別資料的一塊連續記憶體,也就是陣列中每一個資料的記憶體位址都是與前後資
料連續的。所以陣列名稱可當做指標來使用,例如宣告一個具有5個整數值的陣列:
 
int array[5]={ 1,2,3,4,5 };
 
array是陣列名稱,但同時也是一個指標,指向陣列的第一個位址,也就是陣列的第一個元素array[0]
,其元素值為1。如果我們將array1,表示記憶體位置加1,所以array+1便指向了元素array[1]
依此類推。表5.1呈現了這兩者的關係。
5.1 作為指標的陣列名稱
 
記憶體位址
 
陣列元素
 
陣列值
 
array
 
array[0]
 
1
 
array+1
 
array[1]
 
2
 
array+2
 
array[2]
 
3
 
array+3
 
array[3]
 
4
 
array+4
 
array[4]
 
5
 
 
 
範例程式5-9展示上述的觀念。
 

/*----------------------------------------------------*/

//                  範例程式5-9

//               作為陣列名稱的指標

//                  陳慶瀚,2001

/*----------------------------------------------------*/

#include <iostream.h>

void main()

{

int array[5]={ 1,2,3,4,5 };

   int i;

   for ( i=0 ; i<5 ; i++ )

   {

      cout<<"array["<<i<<"]="<<array[i]<<"\t";

      cout<<"array + "<<i<<"="<<array+i<<"\n";

   }

}

 

作為字串名稱的指標

字串(string)是字元(char)的陣列,由於陣列名稱可以視為指標,則字串名稱同樣也可以視為指標。宣告字串有兩種方式,一種是宣告一個字元的陣列,如

   char file_name[20];

file_name就是一個具有20個字元空間的陣列名稱,同時也是字串名稱,我們可以指定字串內容給它:

   file_name=”data.txt”;

宣告字串的另一種形式是把字串宣告成一個指標,同時把指標指向一個字串內容,如

char *file_name=”data.txt”;

這兩種宣告的作用是一致的,但後者彈性較大,因為編譯器會視字串內容大小來配置相對的記憶體(在上例中,data.txt8個字元,但編譯器會自動在字串的最後一個字元後面再加一個結束字元’\0’,所以一共9個字元空間)。而前者─宣告字元陣列的方式記憶體是固定為20個字元空間。

 

/*----------------------------------------------------*/

//                  範例程式5-10

//               作為字串名稱的指標

//                  陳慶瀚,2001

/*----------------------------------------------------*/

 
 
#include < iostream.h >
void main()
{
char str[6]="MIAT\n";
int i;
for(i=0; i<4; i++ )
{
cout<<"str["<<i<<"]="<<str[i]<<"\t";
}
cout<<endl<<"str="<<str<<endl;
}
這個程式宣告一個字元陣列str[6]作為字串變數,陣列大小為6,該陣列被初值化設定為"MIAT\n"
我們使用for迴圈將每一個元素值─即個別字元輸出,程式的最後一行則是將字串值輸出,
cout<<endl<<"str="<<str<<endl;
 
由於str 是陣列名稱,也是字串名稱,同時也是一個指標,在這個程式裡,這三者是一體的。
 
程式執行結果如下:
str[0]=M        str[1]=I        str[2]=A        str[3]=T        str[4]=
        str[5]=
str=MIAT
 

我們注意輸出結果的第5(str[4])和第6個字元(str[5])str[4]是控制換行字元'\n',因此輸出至螢幕就造成換行的效果,str[5]則是空白字元。


 

計算機概論:C/C++程式設計

義守大學電機系 陳慶瀚 
2001.11.12

 

謝孟媛 dvd -
情趣用品 -
飛鳥遊戲 -
遊戲基地 -
PATEK PHILIPPE -
xyz資訊工作坊 -
xyz軟體王 -
英文老師 -
沛納海 -
xyz軟體下載倉庫 -
基測試題 -
CARTIER 卡地亞 -
林晟數學 -
PIAGET -
費洛蒙情定 -
xyz -
軟體大補帖 -
高國華補習班 -
game淘 -
ps2台片 -
wii超級瑪莉攻略 -
情定費洛蒙 -
wii價格2011 -
xbox 360台片 -
tvgame360 -
愛馬仕 -
春藥專賣店 -
ps3價錢 2011 -
ps2遊戲王 -
wii遊戲片專賣店 -
百達翡麗 PATEK PHILIPPE -
壯陽藥品哪買 -
海賊王 -
春藥王 -
xyz軟體下載倉庫 -
壯陽食物 -
xbox360 -
催情藥 -
TISSOT 天梭 -
ps2遊戲燒錄 -
威而剛哪裡買 -
一夜情婦 -
xbox 360台片專賣 -
國中基測題庫 -
無雙遊戲網 -
xyz軟體王 -
ps2遊戲片80元 -
基測 -
xyz軟體王下載 -
GUCCI 古馳 -
南一題庫網 -
COACH -
LOUIS VUITTON -
wii超級瑪莉 -
wii價格2011 -
魔法老師 -
催情藥專賣店 -
國小翰林題庫網 -
wii遊戲片專賣店 -
遊戲天堂 -
寶格麗 -
金榜之路 -
wii遊戲片80元 -
xbox 360遊戲片 -
wii遊戲載點 -
人類費洛蒙情定 -
xbox 360台片專賣 -
催情王 -
xyz軟體之家 -
ps2遊戲片80元 -
情色小站 -
微風廣場 -
情慾之夜 -
民視文化 -
xbox360 -
蔻馳 -
ps2遊戲燒錄 -
ps3遊戲片 -
龍騰高中題庫 -
ps3台片 -
威而剛 -
ps3價錢 2011 -
軟體王下載 -
蕭邦 CHOPARD -
龍騰 -
催情藥 -
威而剛哪裡買 -
基測題目 -
HERMES 愛馬仕 -
情定費洛蒙 -
ps2台片 -
ps3遊戲片 -
wii瑪莉兄弟遊戲 -
江詩丹頓 Vacheron Constantin -
wii超級瑪莉 -
wii遊戲片在ho99小舖 -
春藥王 -
歷屆基測試題 -
窮人軟體 -
威而柔哪裡買 -
蕭邦 -
翰林題庫網 -
一夜情婦 -
wii遊戲下載 -
xbox 360遊戲 -
壯陽食物 -
ps2遊戲片 -
sogo百貨 -
台灣情色網 -
xyz軟體王下載 -
lv2011官方網 -
wii遊戲片專賣店 -
xbox 360價錢 -
歐米茄 -
雷達錶 RADO -
xyz資訊工坊 -
儒林補習班 -
壯陽藥品 -
xyz軟體王 -
窮人遊戲 -
ps2遊戲下載 -
ps3台片 -
德周 -
sogo百貨 -
費洛蒙情定 -
壯陽藥品哪買 -
催情王 -
春藥哪裡買 -
lv2011夏季新款 -
情趣用品 -
中友百貨 -
史萊姆的第一個家 -
情色論壇 -
萬寶龍 MONT BLANC -
萬國 -
ps2遊戲下載 -
春藥哪裡買 -
xyz資訊工作坊 -
龍騰文化 -
太平洋百貨 -
軟體王 -
xbox 360台片專賣 -
ps3遊戲片在ho99小舖 -
壯陽藥 -
xyz軟體銀行 -
xbox360台片 -
魔法24 -
wii遊戲片80元 -
XYZ資訊工坊 -
CARTIER -
春藥網 -
壯陽 -
xyz 軟體補給站 -
微風廣場 -
lv2011新款型錄 -
xbox 360遊戲 -
費洛蒙 -
卡地亞 -
wii遊戲下載 -
窮人天碟 -
春藥專賣店 -
gucci2011專賣店旗艦店 -
迪奧 -
CHANEL -
xyz軟體大本營 -
xbox 360遊戲片在ho99小舖 -
台北郵購網 -
BURBERRY 巴寶莉 -
伯爵 -
遠東百貨 -
陳希 -
費洛蒙mx -
時間廣場 -
漢神百貨 -
情色論壇 -
傳政 -
軟體 -
寶格麗 BVLGARI -
名牌包俱樂部 -
時間廣場 -
威而柔 -
wii瑪莉兄弟遊戲 -
lv名牌包專賣店 -
xyz軟體大本營 -
威而柔哪裡買 -
伯爵 PIAGET -
xyz軟體銀行 -
ps3遊戲下載 -
wii超級瑪莉歐 -
無名套裝 -
xyz軟體下載倉庫 -
江詩丹頓 -
林晟 -
ps3遊戲片在ho99小舖 -
威而剛 -
費洛蒙mx -
xyz軟體之家 -
HERMES -
林晟超理解數學 -
謝孟媛 -