zoukankan      html  css  js  c++  java
  • 多级指针

    #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 ",**p);//1

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

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

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

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

      printf("%d ",*(*(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 ",*p);//10

      

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

      **pp=100;

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

      printf("%d ",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;

    }

  • 相关阅读:
    nginx 安装教程
    php 安装教程
    第一个AWK程序的尝试
    memcached-tool 工具
    java数据库 DBHelper
    Innodb的三大关健特性
    我遇到的一个ClassNotFoundException问题
    storm学习初步
    再探 jQuery
    简单聊一聊正则表达式中的贪婪匹配和非贪婪匹配
  • 原文地址:https://www.cnblogs.com/wanghong19991213/p/13563014.html
Copyright © 2011-2022 走看看