全站数据
8 4 2 0 5 8 1

数组指针与指针数组区别是什么呀

税务小公举 | 简单学习,快乐成才!         
问题更新日期:2024-10-22 05:17:55

问题描述

数组指针与指针数组区别是什么呀,麻烦给回复
精选答案
最佳答案

数组指针和指针数组是两个不同的概念。

数组指针是指一个指向数组的指针,也称为指向数组的首元素的指针。它是一个指针变量,存储的是一个数组的地址,这个数组可以是一维或多维数组。对于一个一维数组a,其可以用一个指向数组的指针p来表示,即p=&a[0],p指向a[0],也可以用p[i]来代表a[i],其中i为下标。

而指针数组则是指一个数组,这个数组的每个元素都是指针类型。指针数组中的每个元素都存储着一个指针,该指针指向内存中的某个位置。每个元素的值是一个地址,用于存储其他变量的地址。例如,int *a[10]表示一个包含10个元素的数组,每个元素都是指向int类型的指针变量,也就是说,a[0]、a、a……a[9] 都是指向int类型变量的指针。

因此,数组指针与指针数组的本质区别在于它们的类型不同。数组指针的类型是一个指向数组的指针,而指针数组的类型是一个包含指针变量的数组。在使用上,数组指针更多用于多维数组的处理,而指针数组更多用于动态内存分配和指针传递等操作。

其他回答

指针数组本身是一个数组,数组的元素都是指数组指针只是一个指针变量,似乎是C语言里专门用来指向二维数组的,它占有内存中一个指针的存储空间。指针数组是多个指针变量,以数组形式存在内存当中,占有多个指针的存储空间。