查看全部128種考試
1
2
3
4
5
6
7
8
9
10
蕭雨  
【字體: C語言筆記 第四章 指針表達式
C語言筆記 第四章 指針表達式
djks.exam8.com 來源:考試吧(Exam8.com) 更新:2004-8-16 22:47:00 計算機等級考試 考試論壇
                                第四章 指針表達式


一個表達式的最后結果如果是一個指針,那么這個表達式就叫指針表達式。
下面是一些指針表達式的例子:
例六:
int a,b;
int array[10];
int *pa;
pa=&a;//&a是一個指針表達式。
int **ptr=&pa;//&pa也是一個指針表達式。
*ptr=&b;//*ptr和&b都是指針表達式。
pa=array;
pa++;//這也是指針表達式。
例七:
char *arr[20];
char **parr=arr;//如果把arr看作指針的話,arr也是指針表達式
char *str;
str=*parr;//*parr是指針表達式
str=*(parr+1);//*(parr+1)是指針表達式
str=*(parr+2);//*(parr+2)是指針表達式


由于指針表達式的結果是一個指針,所以指針表達式也具有指針所具有的四
個要素:指針的類型,指針所指向的類型,指針指向的內存區(qū),指針自身占據的
內存。
好了,當一個指針表達式的結果指針已經明確地具有了指針自身占據的內存
的話,這個指針表達式就是一個左值,否則就不是一個左值。
在例七中,&a不是一個左值,因為它還沒有占據明確的內存。*ptr是一個左
值,因為*ptr這個指針已經占據了內存,其實*ptr就是指針pa,既然pa已經在內
存中有了自己的位置,那么*ptr當然也有了自己的位置。
。


一個表達式的最后結果如果是一個指針,那么這個表達式就叫指針表達式。
下面是一些指針表達式的例子:
例六:
int a,b;
int array[10];
int *pa;
pa=&a;//&a是一個指針表達式。
int **ptr=&pa;//&pa也是一個指針表達式。
*ptr=&b;//*ptr和&b都是指針表達式。
pa=array;
pa++;//這也是指針表達式。
例七:
char *arr[20];
char **parr=arr;//如果把arr看作指針的話,arr也是指針表達式
char *str;
str=*parr;//*parr是指針表達式
str=*(parr+1);//*(parr+1)是指針表達式
str=*(parr+2);//*(parr+2)是指針表達式


由于指針表達式的結果是一個指針,所以指針表達式也具有指針所具有的四
個要素:指針的類型,指針所指向的類型,指針指向的內存區(qū),指針自身占據的
內存。
好了,當一個指針表達式的結果指針已經明確地具有了指針自身占據的內存
的話,這個指針表達式就是一個左值,否則就不是一個左值。
在例七中,&a不是一個左值,因為它還沒有占據明確的內存。*ptr是一個左
值,因為*ptr這個指針已經占據了內存,其實*ptr就是指針pa,既然pa已經在內
存中有了自己的位置,那么*ptr當然也有了自己的位置。轉帖于:計算機等級考試_考試吧
文章搜索  
看了本文的網友還看了:
計算機等級考試權威輔導教材: 訂書電話:010-62168566  更多>>>
網友評論
昵 稱: *  評 分: 1分 2分 3分 4分 5分
標題:   匿名發(fā)表    (共有條評論)查看全部評論>>
版權聲明 -------------------------------------------------------------------------------------
  如果計算機等級考試網所轉載內容不慎侵犯了您的權益,請與我們聯系,我們將會及時處理。如轉載本計算機等級考試網內容,請注明出處。
關于本站  網站聲明  廣告服務  聯系方式  付款方式  站內導航  客服中心  友情鏈接  考試論壇  網站地圖
Copyright © 2004-2008 考試吧計算機等級考試網 All Rights Reserved    
中國科學院研究生院權威支持(北京) 電 話:010-62168566 傳 真:010-62192699
百度大聯盟黃金認證  十佳網絡教育機構  經營許可證號:京ICP060677