zoukankan      html  css  js  c++  java
  • linux编程之指针

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

     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])
    ");
    17           printf("(*d)[0]:%d
    (*(d+1)[1]):%d
    **d:%d
    *(*d+1):%d
    *(*(d+1)+1):%d
    ",(*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)
    ");
    22           printf("a[1][2]:%d
    ",a[1][2]);
    23           printf("*b:%d
    ",*b);
    24           printf("*(*a+1):%d
    *(*(a+1)):%d
    *(a[0]):%d
    **a:%d
    ",*(a[0]+1),**(a+1),*(a[0]),*
    25     *a);
    26           printf("*(*(a+1)+1):%d
    *(*(a)+2):%d
    *(a[0]+1):%d
    ",*(*(a+1)+1),*(*(a)+2),*(a[0]+
    27     2));
    28           printf("about *e[0]");
    29           printf("*e[0]:%d
    ",*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各文件夹的作用
    CodeIgniter的URL传过来的中文参数处理错误的修复
    syn_ack攻击
    分治排序
    Linux Shell学习笔记
    sql题型
    jquery ajax
    json 字符串与对象之间的转换
    常用的VIM命令列表 移动光标
    visual c++ 2012 内存泄漏检测方法
  • 原文地址:https://www.cnblogs.com/qiuheng/p/5756979.html
Copyright © 2011-2022 走看看