24. 练习定义几种指针及数组

#include <stdio.h>

int main(void)
{
    //已知几个数组的定义及其初始化
    char str1[] = "str1";
    char str2[] = "str2";
    char str3[] = "str3";

    char *a[] = {str1,str2,str3};
    char *b[] = {"aaa","bbbb","ccccc","dddddd"};
    char *c[] = {"aaa","bbbb","ccccc","dddddd"};
    char *d[] = {"aaa","bbbb","ccccc","dddddd"};

    //1.定义一个指向数组a的指针
    int** pa = a;

    //2.1定义一个一维数组arr1,存储abcd四个数组的地址作为成员
    char** arr1[4] = {a,b,c,d};
    //2.2定义一个指向数组arr1的指针
    char*** p1 = arr1;

    //3.1定义一个2X2的二维数组arr2,存储ab cd 四个数组的地址作为成员。
    char** arr2[2][2] ={a,b,c,d};
    //3.3定义一个指向数组arr2的指针
    char** (*p2)[2] = arr2;


    //已知几个数组的定义及其初始化

    char *e[][2] = {"aaa","bbbb","ccccc","dddddd"};
    char *f[][2] = {"aaa","bbbb","ccccc","dddddd"};
    char *g[][2] = {"aaa","bbbb","ccccc","dddddd"};
    char *h[][2] = {"aaa","bbbb","ccccc","dddddd"};

    //1.定义一个指向数组e的指针
    char*(*pe)[2] = e;
    //2.1定义一个一维数组arr3,存储abcd四个数组的地址作为成员。
    char*(*arr3[4])[2] = {e,f,g,h};
    //2.2定义一个指向数组arr3的指针
    char*(**p3)[2] = arr3;
    //3.1定义一个2X2的二维数组arr4,存储ab cd 四个数组的地址作为成员。
    char*(*arr4[2][2])[2] = {e,f,g,h};



    return 0;
}

 

posted @ 2018-08-14 12:29  2018年8月10日注册  阅读(132)  评论(0编辑  收藏  举报