📌  相关文章
📜  “int array[5]”的“array”和“&array”有什么区别?(1)

📅  最后修改于: 2023-12-03 15:21:24.978000             🧑  作者: Mango

"int array[5]"的"array"和"&array"有什么区别?

在C语言中,数组是一组连续的内存空间,用于存储相同类型的数据。在声明数组时,可以给其命名,该名字即为数组的标识符。

例如,下面的代码声明了一个名为“array”的整型数组,它有5个元素:

int array[5];

这里的“array”是一个指向数组第一个元素的指针。在数组的使用中,我们通常会使用数组名来访问/修改数组元素的值。例如,下标为2的元素的值可以通过“array[2]”来获取/修改:

array[2] = 42;

而“&array”则是指向整个数组的指针,它指向数组的第一个元素的地址。这个指针是一个指向指针的指针,称为“数组指针”。

例如,下面的代码输出了数组的地址,即第一个元素的地址:

printf("数组地址:%p\n", &array);

在大多数情况下,我们使用的是数组名来访问/修改数组元素的值。但是,在某些情况下,如果需要将整个数组作为参数传递给函数或者返回整个数组,使用“&array”会更加方便。

总结来说,“array”是指向数组第一个元素的指针,而“&array”是指向整个数组的指针,即数组指针。两者在使用上有一些区别,需要根据具体情况选择使用哪个。