c语言指针数组和数组指针区别

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

指针数组是指一个数组,数组中的每个元素都是一个指针。

例如,int * arr[10] 定义了一个指针数组,其中有10个元素,每个元素都是一个int类型的指针。指针数组中的每个元素都可以指向不同的内存地址,可以通过下标的方式访问和操作每个元素。

数组指针是指一个指针,指向一个数组。

例如,int (ptr)[10] 定义了一个数组指针,它指向一个有10个元素的int类型数组。

在使用数组指针时,需要通过指针运算来访问和操作数组中的元素。例如,ptr[2] 表示数组指针指向的数组中的第3个元素。

总的来说,指针数组和数组指针有着不同的语法和用法,需要根据具体的情况来选择使用哪种方式。指针数组通常用于存储一组不同类型的指针,而数组指针通常用于指向一个多维数组或者一个由动态分配的内存块组成的数组。

c语言指针和数组的区别