黄色在线观看视频-黄色在线免费看-黄色在线视频免费-黄色在线视频免费看-免费啪啪网-免费啪啪网站

網站首頁
分類導航
試題中心
下載中心
英語學習
繽紛校園
考試論壇
網站留言
客服中心
 C語言筆記 第五章 數組和指針的關系
【字體:
C語言筆記 第五章 數組和指針的關系
http://www.top-99.com.cn 來源:考試吧(Exam8.com) 點擊: 更新:2004-8-16
                               第五章 數組和指針的關系


如果對聲明數組的語句不太明白的話,請參閱我前段時間貼出的文章<<如何
理解c和c++的復雜類型聲明>>。
數組的數組名其實可以看作一個指針。看下例:
例八:
int array[10]={0,1,2,3,4,5,6,7,8,9},value;
...
...
value=array[0];//也可寫成:value=*array;
value=array[3];//也可寫成:value=*(array+3);
value=array[4];//也可寫成:value=*(array+4);
上例中,一般而言數組名array代表數組本身,類型是int [10],但如果把a
rray看做指針的話,它指向數組的第0個單元,類型是int *,所指向的類型是數
組單元的類型即int。因此*array等于0就一點也不奇怪了。同理,array+3是一個
指向數組第3個單元的指針,所以*(array+3)等于3。其它依此類推。

例九:
例九:
char *str[3]={
"Hello,this is a sample!",
"Hi,good morning.",
"Hello world"
};
char s[80];
strcpy(s,str[0]);//也可寫成strcpy(s,*str);
strcpy(s,str[1]);//也可寫成strcpy(s,*(str+1));
strcpy(s,str[2]);//也可寫成strcpy(s,*(str+2));
上例中,str是一個三單元的數組,該數組的每個單元都是一個指針,這些指
針各指向一個字符串。把指針數組名str當作一個指針的話,它指向數組的第0號
單元,它的類型是char**,它指向的類型是char *。
*str也是一個指針,它的類型是char*,它所指向的類型是char,它指向的地
址是字符串"Hello,this is a sample!"的第一個字符的地址,即'H'的地址。
str+1也是一個指針,它指向數組的第1號單元,它的類型是char**,它指向
的類型是char *。
*(str+1)也是一個指針,它的類型是char*,它所指向的類型是char,它指向
"Hi,good morning."的第一個字符'H',等等。

下面總結一下數組的數組名的問題。聲明了一個數組TYPE array[n],則數組
名稱array就有了兩重含義:第一,它代表整個數組,它的類型是TYPE [n];第二
,它是一個指針,該指針的類型是TYPE*,該指針指向的類型是TYPE,也就是數組
單元的類型,該指針指向的內存區就是數組第0號單元,該指針自己占有單獨的內
存區,注意它和數組第0號單元占據的內存區是不同的。該指針的值是不能修改的
,即類似array++的表達式是錯誤的。
在不同的表達式中數組名array可以扮演不同的角色。
在表達式sizeof(array)中,數組名array代表數組本身,故這時sizeof函數
測出的是整個數組的大小。
在表達式*array中,array扮演的是指針,因此這個表達式的結果就是數組第
0號單元的值。sizeof(*array)測出的是數組單元的大小。
表達式array+n(其中n=0,1,2,....。)中,array扮演的是指針,故arr
ay+n的結果是一個指針,它的類型是TYPE*,它指向的類型是TYPE,它指向數組第
n號單元。故sizeof(array+n)測出的是指針類型的大小。
例十:
int array[10];
int (*ptr)[10];
ptr=&array;
上例中ptr是一個指針,它的類型是int (*)[10],他指向的類型是int [10]
,我們用整個數組的首地址來初始化它。在語句ptr=&array中,array代表數組本
身。

本節中提到了函數sizeof(),那么我來問一問,sizeof(指針名稱)測出的究
竟是指針自身類型的大小呢還是指針所指向的類型的大小?答案是前者。例如:

int (*ptr)[10];
則在32位程序中,有:
sizeof(int(*)[10])==4
sizeof(int [10])==40
sizeof(ptr)==4
實際上,sizeof(對象)測出的都是對象自身的類型的大小,而不是別的什么
類型的大小。
文章錄入:蕭雨    責任編輯:蕭雨  
 版權聲明
   如果本網站所轉載內容不慎侵犯了您的權益,請與我們聯系,我們將會及時處理。如轉載本網內容,請注明出處。
 發表評論
關于本站 網站聲明 廣告服務  聯系方式  付款方式  站內導航  客服中心  友情鏈接   
Copyright © 2004-2006 考試吧 (Exam8.com) All Rights Reserved 
中國科學院研究生院中關村園區(北京市海淀區)
主站蜘蛛池模板: 男女视频网站在线观看 | 亚洲伊人成综合网 | 亚洲精品成人a | 一区二区三区免费精品视频 | 色婷婷99综合久久久精品 | 97久久人人做人人爽人人澡 | 久久有码中文字幕 | 日韩美女拍拍免费视频网站 | 一级片在线视频 | 黄色大片免费观看 | 中文字幕亚洲精品日韩精品 | 成人在线影视 | 55夜色66夜色国产亚洲精品区 | 草草视频免费看 | 久久艹人人艹 | 操人网站| 欧美日韩一区二区视频免费看 | 一级大毛片 | 一本大道香蕉大无线视频 | 日本三级视频在线 | 亚洲国产激情 | 欧美成人三级一区二区在线观看 | 中文字幕第38页永久乱码 | 日韩视频久久 | 日日噜噜夜夜狠狠扒开双腿 | 久久久2019精品 | 国产精品伦理久久久久久 | 亚洲精选在线 | 一本大道香蕉高清久久 | 日本国产黄色片 | 国产一国产一级毛片视频在线 | 国产一卡 | 色五丁香| 亚洲国产精久久久久久久 | 毛片动态图 | 老子影院午夜伦不卡不四虎卡 | 欧美一级欧美一级在线播放 | 黄网站在线播放 | 日本人与人xxⅹ | 成人免费精品视频 | 高清成人爽a毛片免费网站 高清国产精品久久久久 |