数组指针和指针数组

2018-12-23  本文已影响0人  楠能柯贵
#include <stdio.h>

int
main() {

    /*
   char a[4][8];
   a 是数组,a[0], a[1], a[2], a[3] 也都是数组

   char (*p)[8];数组指针
   p是一个指针,指向一维数组,数组长度为8,p指向a[0],p+1指向 a[1]
   */
    printf("Example 数组指针:");
    char a[4][8] = {"我", "是", "大", "好人"};
    char (*p)[8];
    p = a;

    for (int i = 0; i < 4; i++) {
        printf("%s", a[i]);
        printf("%s", *(p + i));
    }
    printf("\n");

    /*
    char *p2[4];指针数组
    p2 是一个数组, p2[0], p2[1], p2[2], p2[3] 都是指针
    */
    printf("Example 指针数组: ");
    char *p2[4];
    for (int i=0; i<4; i++) {
        p2[i] = a[i];
    }
    for (int i = 0; i < 4; i++) {
        printf("%s", p2[i]);
    }
    printf("\n");
    return 0;
}


输出结果:
Example 数组指针:我我是是大大好人好人
Example 指针数组: 我是大好人

上一篇 下一篇

猜你喜欢

热点阅读