c语言

c语言指针与数组如何互转

小樊
167
2024-07-15 14:58:43
栏目: 编程语言

在C语言中,指针和数组之间可以相互转换,因为数组名实际上就是数组的首地址,而指针也可以存储地址。

  1. 指针转数组:可以通过将指针作为数组名来访问数组元素,例如:
int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr; // 指针指向数组的首地址
printf("%d\n", ptr[2]); // 输出3
  1. 数组转指针:数组名可以隐式转换为指向数组第一个元素的指针,例如:
int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr; // 数组名转为指针
printf("%d\n", *(ptr + 2)); // 输出3

需要注意的是,数组名转为指针后,数组的大小信息会丢失,因此在进行指针与数组之间的转换时需要注意数组的大小和边界。

0
看了该问题的人还看了