好久不工作,全忘了,可以转行了
//数组指针
{
//要声明指向数组类型的指针,必须使用括号
int(*arrPtr)[10] = NULL; //一个指针,它指向一个有10个int元素的数组
//如果没有括号,则声明 int*arrPtr[l0];
//表示 arrPtr 是一个具有 10 个 int 类型指针的数组。
int matrix[3][10] = { 0 };
arrPtr = matrix; // 使得arrPtr指向矩阵的第一行
(*arrPtr)[0] = 5;
arrPtr[1][2] = 4; //把4赋值给第二行第3个元素
++arrPtr;
(*arrPtr)[3] = 5; //把5赋值第二行第4个元素
int a[10] = {0};
//arrPtr = a; //= : 无法从“int[10]”转换为“int(*)[10]”
arrPtr = &a;
arrPtr = (int (*)[10])a;
test(matrix);
typedef int ARRAY_t[10]; /// 定义一个“具有10个元素数组”类型名称
ARRAY_t b, *arrb;
arrb = (ARRAY_t*)b;
arrb = &a;
return 0;
}
//指针数组
//指针数组(也就是元素为指针类型的数组)常常作为二维数组的一种便捷替代方式。
//一般情况下,这种数组中的指针会指向动态分配的内存区域。
#define ARRAY_LEN 100
char *myStrPtr[ARRAY_LEN] = // char指针的数组
{
"去年日子不好过",
"休息了好长时间了",
"今年解决所有问题,稳下来",
"明天去拔牙"
};