您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> C语言 >> 辅导 >> 正文    
  C语言笔记第四章指针表达式 【注册男护士专用博客】          

C语言笔记第四章指针表达式

www.nanhushi.com     佚名   不详 

    第四章 指针表达式 
一个表达式的最后结果如果是一个指针,那么这个表达式就叫指针表达式。 
下面是一些指针表达式的例子: 
例六: 
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)是指针表达式 
由于指针表达式的结果是一个指针,所以指针表达式也具有指针所具有的四 
个要素:指针的类型,指针所指向的类型,指针指向的内存区,指针自身占据的 
内存。 
好了,当一个指针表达式的结果指针已经明确地具有了指针自身占据的内存 
的话,这个指针表达式就是一个左值,否则就不是一个左值。 
在例七中,&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)是指针表达式 
由于指针表达式的结果是一个指针,所以指针表达式也具有指针所具有的四 
个要素:指针的类型,指针所指向的类型,指针指向的内存区,指针自身占据的 
内存。 
好了,当一个指针表达式的结果指针已经明确地具有了指针自身占据的内存 
的话,这个指针表达式就是一个左值,否则就不是一个左值。 
在例七中,&a不是一个左值,因为它还没有占据明确的内存。*ptr是一个左 
值,因为*ptr这个指针已经占据了内存,其实*ptr就是指针pa,既然pa已经在内 
存中有了自己的位置,那么*ptr当然也有了自己的位置。

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目