定义数组指针
一、用typedef定义
基本语法:typedef 数据类型 (*类型名)[数组大小];
代码:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
typedef int(*IntArray5Ptr)[5];
int main() {
int arr[5] = { 1,2,3,4,5 };
//使用typedef定义的类型声明指针变量
IntArray5Ptr ptr = &arr;
printf("数组元素:");
for (size_t i = 0; i < 5; i++)
{
printf("%d ", (*ptr)[i]);
}
}
关键优势:
1、代码清晰:使用有意义的类型名代替复杂的指针语法
2、易于维护:类型定义集中在一处,修改方便
3、类型安全:编译器会进行类型检查
4、可重用性:可以在多个地方使用相同的类型定义
5、减少错误:避免复杂的指针语法错误
二、直接定义
void test() {
int arr[5] = { 1,2,3,4,5 };
int(*p)[5] = &arr;
for (size_t i = 0; i < 5; i++)
{
printf("%d\n",(*p)[i]);
}
}
