指针数组和数组指针
指针数组和数组指针是 C 语言中的两个重要概念。它们都涉及到指针和数组的组合使用。
首先,让我们来了解指针数组(pointer array)。指针数组是一个数组,其中的每个元素都是一个指针。这些指针可以指向不同的数据类型或内存地址。例如,下面的代码定义了一个具有三个元素的指针数组,每个元素都是一个指向整数的指针:
int *ptrArray[3];
在这个例子中,ptrArray 是一个具有三个元素的指针数组,每个元素都是一个 int 型指针。你可以使用这个数组来存储不同整数变量的地址。
接下来,让我们来了解数组指针(array pointer)。数组指针是一个指向数组的指针。它指向数组的首地址,并可以通过对指针进行递增操作来遍历整个数组。例如,下面的代码定义了一个指向整数数组的指针:
int (*arrPtr)[5];
在这个例子中,arrPtr 是一个指向包含 5 个整数元素的数组的指针。你可以使用这个指针来操作整个数组。
需要注意的是,指针数组和数组指针虽然看起来相似,但它们的类型和用法是不同的。指针数组是一个数组,每个元素都是指针;而数组指针是一个指向数组的指针。它们在内存布局和访问方式上也存在一些差异。