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

linux编程之指针

时间:2016-08-10 16:17:08      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:

  这个是数组指针、指针数组、二维数组之间相互转换的代码 

 1  #include<stdio.h>
 2  void main()
 3          {
 4           int a[2][4]={1,2,3,4,5,6,7,8};
 5           int *b=NULL;
 6           int **c;
 7           int (*d)[4];
 8  
 9           int * e[5];
10           b=*(a+1)+1;
11           e[0]=&a[0][0];
12           d=a;
13           //a[][] equal **c equal (*d)[]
14  
15          //about (*d)[4] **d
16           printf("about (*d)[4] **d (*(d+1)[1])\n");
17           printf("(*d)[0]:%d\n(*(d+1)[1]):%d\n**d:%d\n*(*d+1):%d\n*(*(d+1)+1):%d\n",(*d)[0],(
18     *(d+1))[1],**d,*(*d+1),*(*(d+1)+1));
19  
20           //about *(a[0]+1) **(a+1) *(*(a+1)+1) !!!!!
21           printf("about *(a[0]+1) **(a+1) *(*(a+1)+1)\n");
22           printf("a[1][2]:%d\n",a[1][2]);
23           printf("*b:%d\n",*b);
24           printf("*(*a+1):%d\n*(*(a+1)):%d\n*(a[0]):%d\n**a:%d\n",*(a[0]+1),**(a+1),*(a[0]),*
25     *a);
26           printf("*(*(a+1)+1):%d\n*(*(a)+2):%d\n*(a[0]+1):%d\n",*(*(a+1)+1),*(*(a)+2),*(a[0]+
27     2));
28           printf("about *e[0]");
29           printf("*e[0]:%d\n",*e[0]);
30  }

  输出结果

 1 about (*d)[4] **d (*(d+1)[1])
 2 (*d)[0]:1
 3 (*(d+1)[1]):6
 4 **d:1
 5 *(*d+1):2
 6 *(*(d+1)+1):6
 7 about *(a[0]+1) **(a+1) *(*(a+1)+1)
 8 a[1][2]:7
 9 *b:6
10 *(*a+1):2
11 *(*(a+1)):5
12 *(a[0]):1
13 **a:1
14 *(*(a+1)+1):6
15 *(*(a)+2):3
16 *(a[0]+1):3
17 about *e[0]*e[0]:1

 

linux编程之指针

标签:

原文地址:http://www.cnblogs.com/qiuheng/p/5756979.html

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