zoukankan      html  css  js  c++  java
  • 指针的高阶用法——指针数组

    在我们讲解指针数组的概念之前,先让我们来看一个实例,它用到了一个由 3 个整数组成的数组:

    #include <stdio.h>
     
    const int MAX = 3;
     
    int main ()
    {
       int  var[] = {10, 100, 200};
       int i;
     
       for (i = 0; i < MAX; i++)
       {
          printf("Value of var[%d] = %d
    ", i, var[i] );
       }
       return 0;
    }
    

    当上面的代码被编译和执行时,它会产生下列结果:

    Value of var[0] = 10
    Value of var[1] = 100
    Value of var[2] = 200
    

    可能有一种情况,我们想要让数组存储指向 int 或 char 或其他数据类型的指针。下面是一个指向整数的指针数组的声明:

    int *ptr[MAX];
    

    在这里,把 ptr 声明为一个数组,由 MAX 个整数指针组成。因此,ptr 中的每个元素,都是一个指向 int 值的指针。下面的实例用到了三个整数,它们将存储在一个指针数组中,如下所示:

    #include <stdio.h>
     
    const int MAX = 3;
     
    int main ()
    {
       int  var[] = {10, 100, 200};
       int i, *ptr[MAX];
     
       for ( i = 0; i < MAX; i++)
       {
          ptr[i] = &var[i]; /* 赋值为整数的地址 */
       }
       for ( i = 0; i < MAX; i++)
       {
          printf("Value of var[%d] = %d
    ", i, *ptr[i] );
       }
       return 0;
    }
    

    当上面的代码被编译和执行时,它会产生下列结果:

    Value of var[0] = 10
    Value of var[1] = 100
    Value of var[2] = 200
    

    您也可以用一个指向字符的指针数组来存储一个字符串列表,如下:

    #include <stdio.h>
     
    const int MAX = 4;
     
    int main ()
    {
       const char *names[] = {
                       "Zara Ali",
                       "Hina Ali",
                       "Nuha Ali",
                       "Sara Ali",
       };
       int i = 0;
     
       for ( i = 0; i < MAX; i++)
       {
          printf("Value of names[%d] = %s
    ", i, names[i] );
       }
       return 0;
    }
    

    当上面的代码被编译和执行时,它会产生下列结果:

    Value of names[0] = Zara Ali
    Value of names[1] = Hina Ali
    Value of names[2] = Nuha Ali
    Value of names[3] = Sara Ali
  • 相关阅读:
    Android Apk获取包名和Activity名称
    SoupUI接口测试学习分享
    Android 手机自动化测试工具有哪几种?
    SVN和CVS的区别
    名词
    本地解析地址步骤
    python3.6.1+selenium3.0环境安装问题及解决方法
    简述企业信息化与企业架构关系
    企业架构实践的线下公开课学习感悟
    golang 12.9 go mod 实践
  • 原文地址:https://www.cnblogs.com/JingWenxing/p/10263865.html
Copyright © 2011-2022 走看看