全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  c语言学习笔记  >  详情

c语言指针和数组的关系

来源:千锋教育
发布人:wjy
2023-05-10

推荐

  在C语言中,指针和数组有着密切的关系,指针可以被用来操作数组元素,而数组名实际上就是一个指向数组第一个元素的指针。

  我们可以使用指针变量来访问数组中的元素,使用指针变量时,需要将它指向数组中的某个元素,可以使用数组名和下标来获取数组元素的地址,然后将地址赋给指针变量。

  例如,假设有一个数组arr:

int arr[5] = {1, 2, 3, 4, 5};

   我们可以定义一个指向数组第一个元素的指针p,然后使用指针来访问数组元素:

int *p = arr;      // 将指针p指向数组第一个元素
for (int i = 0; i < 5; i++) {
printf("%d\n", *(p+i)); // 使用指针访问数组元素
}

   上面的代码会依次输出数组中的元素1、2、3、4、5。在这个例子中,我们首先将指针p指向数组第一个元素arr[0],然后通过循环使用指针访问数组中的所有元素。

  需要注意的是,虽然数组名实际上是一个指针,但是它是一个常量指针,不能修改它所指向的地址,也就是不能让它指向数组中的其它元素。例如,以下代码是错误的:

int arr[5] = {1, 2, 3, 4, 5};
int *p = arr; // 将指针p指向数组第一个元素
arr++; // 错误:不能修改数组名

   在上面的例子中,我们试图让数组名arr指向数组中的第二个元素,但是这是错误的,因为数组名是一个常量指针,不能修改它所指向的地址。

相关推荐

在线咨询 免费试学 教程领取