2015-07-24 C++提高 2 分钟 读完 (大约 267 个字) 指针数组与数组指针 指针数组:存储指针的数组,数组找那个的每个一元素都是指针 例: int* p1[4],p2[0]是一个指向int类型的指针 char* p2[4],p1[0]是一个指向char类型的指针 数组指针:指向数组的指针 例: int (*p)[4] 这里需要注意下 int a[3] = {1, 2, 3); int (*p)[3] = a; //错误,a为数组元素的首地址 int (*p)[3] = &a; //正确,数组的首地址 虽然数组元素首地址和数组首地址的值是相同的,但两者表示的意义是不同的,如写成数组元素首地址,编译过程中编译器会直接报错。 1234567891011121314//指针数组使用 int a1 = 1; int a2 = 2; int a3 = 3; int *p1[3]; p1[0] = &a1; p1[1] = &a2; p1[2] = &a3; char *p2[3] = {"i love china", "i love beijing", "i love changcheng"}; printf("%d\n", *p1[0]); printf("%s\n", p2[0]); 12345678910//数组指针使用 int b[] = {1, 2, 3}; int (*p3)[3]; p3 = &b; printf("%d\n", (*p3)[0]); char c[][4] = {"aaa", "bbb", "ccc"}; char (*p4)[4]; p4 = c; printf("%s\n", p4[0]); # 指针数组, 数组指针