码迷,mamicode.com
首页 > 系统相关 > 详细

Linux C 程序(NIGH)

时间:2014-12-28 22:04:30      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

指针和指针数组

 1 #include<stdio.h>
 2 
 3 int main() {
 4 
 5         int  a = 100 , b = 200 ;
 6         int *p1 = &a , *p2 = &b ;
 7 
 8         printf("%d,%d\n",a ,b);
 9         printf("%d,%d\n",*p1,*p2);
10         printf("%x,%x\n",&a,&b);
11         printf("%x,%x\n",p1,p2);
12 
13         *p1 = *p1 * 3;
14         printf("%d\n",a);
15         printf("%d\n\n",*p1);
16 
17         p1 = &b;
18         printf("%x\n",p1);
19         printf("%x\n",p2);
20 
21         return 0;
22 
23 
24 }

指针数组

 1 #include<stdio.h>
 2 
 3 // 不同方式输出数组
 4 int main(){
 5         int a[10] , i , *p=NULL;
 6 
 7         for( i = 0 ; i < 10 ; i++){
 8                 a[i] = i;
 9         }
10 
11         for(i = 0 ; i < 10 ; i++){
12                 printf("%d ",a[i]);
13         }
14         printf("\n");
15 
16         for(i = 0 ; i < 10 ; i++){
17                 printf("%d ",*(a+i));
18         }
19         printf("\n");
20 
21         for(p = a ; p < a+10 ;){
22                 printf("%d ",*p++);
23         }
24         printf("\n");
25 
26         return 0;
27 }
28 ~      

* ,++ ,--优先级相同

*p++:先取得当前p所指向得变量值,再使p指向后一个变量。相当于 a[i++]

 *p--:先取得当前p所指向得变量,再使p指向前一个变量,相当于a[i--]

*++p:先使指向后一个变量,再取p所指向得变量得值,相当于a[++i]

*--p :先使得p指向前一个变量,再取p所指向得变量得值,相当于 a[--i]

 

数组元素也可以是指针类型:这种数组称为指针数组,也就是说指针数组得每个元素都是指针变量。

 1 int *p[5]; 

*  运算符得优先级低于 [  ]

p先与5结合,显然他是一个数组,再与*结合表示数组元素类型全是指针。

这里的p是一个二级指针。

 

Linux C 程序(NIGH)

标签:

原文地址:http://www.cnblogs.com/fubinhnust/p/4190600.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!