首页 > 其他 > 详细

多级指针

时间:2020-08-26 09:10:59      阅读:140      评论:0      收藏:0      [点我收藏+]

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>

 

int main01()

{

  int a[]={1,2,3};

  int b[]={4,5,6};

  int c[]={7,8,9};

//指针数组是一个特殊的二维数组模型,指针数组对应二级指针

  int *arr[]={a,b,c};

  int**p=arr;

 

  printf("%d\n",**p);//1

//二级指针加偏移量相当于跳过了一个一维数组大小

  printf("%d\n",**(p+1));//4

// 一级指针加偏移量相当于跳过了一个元素

  printf("%d\n",*(*p+1));//2

  printf("%d\n",*(*(p+1)+1))//5

    

  for(int i=0;i<3;i++)

  {

    for(int j=0;j<3;j++)

    {

      //1,2,3,4,5,6,7,8,9,10

      //printf("%d ",p[i][j]);

      //printf("%d ",*(p[i]+j))

      //printf("%d ",*(*(p+i)+j));

    }

    puts(""); 

  }

  return EXIT_SUCCESS;

}

 

int main02(void)

{

  int a=10;

  int b=20;

  int*p=&a;

  int**pp=&p;

//二级指针对应的野指针

  //pp=100;

  //*pp=100;

 

  //printf("%d\n",*p);//10

  

//二级指针pp加*等同一级指针,再回*等同于变量

  **pp=100;

  printf("%d\n",*p);//100

  printf("%d\n",a);//100

  

  return 0;

}

 

int main04(void)

{

  int a=10;

  int b=20;

  int*p=&a;

  int**pp=&p;

  int***ppp=&pp;

  //*ppp==pp=&p;

  //**ppp=*pp=p==&a;

  //***ppp==**pp==*p==a;

技术分享图片

 

 

  return 0;

}

多级指针

原文:https://www.cnblogs.com/wanghong19991213/p/13563014.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!