温馨提示×

c语言指针数组和数组指针有什么区别

小亿
92
2023-10-27 03:43:32
栏目: 编程语言

C语言中,指针数组和数组指针是两种不同的概念。

  1. 指针数组(Pointer Array):指针数组是一个数组,其中的元素都是指针类型。它可以被认为是一个存储了指针的数组,每个指针可以指向不同的数据类型或地址。指针数组的声明方式为:dataType *arrayName[length];

例如:

int *ptrArray[5];  // 声明了一个指针数组,每个元素都是整型指针
char *strArray[3];  // 声明了一个指针数组,每个元素都是字符型指针
  1. 数组指针(Array Pointer):数组指针是一个指针,它指向一个数组的首地址。通过数组指针,可以对整个数组进行操作。数组指针的声明方式为:dataType (*pointerName)[length];

例如:

int arr[5] = {1, 2, 3, 4, 5};  // 声明了一个整型数组
int (*ptr)[5];  // 声明了一个指向整型数组的指针
ptr = &arr;  // 数组指针指向了arr数组的首地址

总结:

  • 指针数组是一个数组,其每个元素都是指针类型。
  • 数组指针是一个指针,它指向一个数组的首地址。
  • 指针数组可以指向不同数据类型的指针,而数组指针只能指向特定数据类型的数组。
  • 指针数组的元素可以单独赋值,而数组指针需要指向已有数组。

0