在C语言中,指针和数组之间可以相互转换,因为数组名实际上就是数组的首地址,而指针也可以存储地址。
int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr; // 指针指向数组的首地址
printf("%d\n", ptr[2]); // 输出3
int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr; // 数组名转为指针
printf("%d\n", *(ptr + 2)); // 输出3
需要注意的是,数组名转为指针后,数组的大小信息会丢失,因此在进行指针与数组之间的转换时需要注意数组的大小和边界。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
相关推荐:c语言指针与数组如何选择