文章目录
总结
一、直接定义 数组指针
二、完整代码示例
总结
int (*p)[3] = NULL;
一、直接定义 数组指针
直接定义 数组指针 ,
首先 , 定义一个普通数组 , 之后的 数组指针 指向该数组 ,
int array2[3] = {0};
然后 , 直接定义数组类型变量 ,
int (*p)[3] = NULL;
最后 , 将 array2 变量地址赋值给该 数组指针类型 变量 , 指针指向的数据类型为 int[3] 数组类型的变量 array2 ;
ArrayPointer p = NULL; p = &array2;
验证上述 定义的数组指针 :
为 数组元素 赋值 ,
// 为数组赋值 int i = 0; for(i = 0; i < 3; i++) { array2[i] = i + 1; }
使用 数组指针 , 打印数组元素内容 :
// 使用 数组指针 访问数组中的值 for(i = 0; i < 3; i++) { printf("%d\n", (*p)[i]); }
二、完整代码示例
完整代码示例 :
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { // 指针数组 , 数组元素是指针 (作为参考) char *array = {"12", "ab", "34"}; // 数组指针 , 使用指针变量指向数组 // 首先 , 定义一个普通数组 , 之后的 数组指针 指向该数组 int array2[3] = {0}; // 然后 , 直接定义数组类型变量 int (*p)[3] = NULL; // 最后 , 将 array2 变量地址赋值给该 数组指针类型 变量 // 指针指向的数据类型为 int[3] 数组类型的变量 array2 p = &array2; // 为数组赋值 int i = 0; for(i = 0; i < 3; i++) { array2[i] = i + 1; } // 使用 数组指针 访问数组中的值 for(i = 0; i < 3; i++) { printf("%d\n", (*p)[i]); } // 命令行不要退出 system("pause"); return 0; }
执行结果 :