指针数组和数组指针

                       指针数组和指针数组的区别是什么??

1、指针数组

       在C语言C++语言中,数组元素全为指针数组称为指针数组(即也可以这样解释:首先是一个数组,数组的元素的类型是指针)。例如:一维指针数组的定义形式为:“类型名  *数组标识符[数组长度]”。
       一个一维指针数组的定义:int *ptr_array[10] ;
       上述定义怎么解释呢?下面一步一步进行解释:
         (1)、ptr_array[ ]
                 ptr_array先于[ ]结合,所以 ptr_array是一个数组名
         (2)、ptr_array[ 10 ]
                 ptr_array是一个数组名,该数组含有10个元素
         (3)、int* ptr_array[ 10 ]
                 ptr_array是一个数组名,该数组含有10个元素,每个元素的类型是int*型指针
       所以上面定义了一个一维的指针数组
 
2、数组指针
        数组指针是指向数组首元素的地址的指针(也就是可以这样说,首先是一个指针,这个指针指向一个数组),其本质为指针(这个指针存放的是数组首地址的地址,相当于2级指针,这个指针不可移动); 指针数组是数组元素为指针的数组,其本质为数组。
      例如:*p[2]是指针数组(注意将“*”看成是一种变量类型,和“int”类型一样,只不过它表示变量的类型是指针),实质是一个数组,里面的两个元素都是指针, [ ]的优先级比*的优先级高,p先与[ ]结合,形成数组p[2],有两个元素的数组,再与*结合,表示此数组是指针类型的,每个数组元素相当于一个指针变量。
 
总结:
       从上面两个的定义可以看出两个的区别。一个是数组一个是指针。是数组。,只不过它的数组元素的类型是指针。是指针的,只不过其指向的对象是数组。所以“指针数组”和“数组指针”的重点是在后面的两个字。
 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值