指针访问数组常见方式以及注意事项

  1.  数组越界:访问数组时必须确保下标在有效范围内。例如,对于arr[5]的数组,有效的下标是0到4。如果尝试访问arr[5](或者说尝试读取不存在的第六个元素),这会导致未定义行为(通常是运行时错误,例如访问违规)。

  2.  指针和数组:在C或C++中,数组名可以退化为指向其第一个元素的指针。例如,如果你有一个int arr[5];,那么arr实际上等同于&arr[0],即指向数组第一个元素的指针。因此,你也可以使用指针来访问数组元素,例如*(arr + 0)或更简单地*arr(这等同于arr[0])。 

使用指针访问数组元素实例:

#include <stdio.h>
 
int main()
{
  int arr[5] = {10, 20, 30, 40, 50};
  int *ptr = arr; // ptr是指向arr[0]的指针
 
  // 使用指针访问数组的第一个元素
  printf("The first element is: %d\n", *ptr); // 或者使用 ptr[0]
 
  // 使用指针访问数组的第二个元素
  printf("The second element is: %d\n", *(ptr + 1)); // 或者使用 ptr[1]
 
  return 0;
}
posted @ 2025-03-17 17:09  咸鱼书生  阅读(83)  评论(0)    收藏  举报