C和指针之二维字符串数组用指针数组、数组指针、二级指针打印

1、问题

二位字符串数组用指针数组、数组指针、二级指针打印




2、测试代码

#include 

int main()
{

    char value[4][5] = {"chen", "yu", "feng", "yy"};
    char *p[5];
    char (*p1)[5];
    char **p2;

    //把二位数组的值赋给指针数组
    for (int i = 0; i < 4; i++)
    {
        printf("value[%d] is %s\n", i, value[i]);
        p[i] = value[i];
    }
    for (int i = 0; i < 4; i++)
    {
        printf("p[%d] value is %s\n", i, p[i]);
    }
    //把value赋给数组指针
    p1 = value;
    for (int i = 0; i < 4; i++)
    {
        printf("value1 is %s\n", p1[i]);
        printf("value2 is %s\n", *(p1 + i));
    }
    //把p赋值为二级指针
    p2 = p;
    for (int i = 0; i < 4; i++)
    {
        printf("value3 is %s\n", *(p2 + i));
    }
    return 0;
}




3、运行结果

1111deMacBook-Pro:dabian a1111$ vim

你可能感兴趣的:(C和指针)