首页 >> 玩机圈社区 > 精选经验 >

指针数组和数组指针的区别(指针数组和数组指针的区别)

2022-12-20 03:55:30 来源: 用户: 

您好,现在柳柳来为大家解答以上的问题。指针数组和数组指针的区别,指针数组和数组指针的区别相信很多小伙伴还不知道,现在让我们一起来看看吧!

1、指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针。

2、数组指针:a pointer to an array,即指向数组的指针。

3、还要注意的是用法的区别,下面举例说明。

4、int* a[4] 指针数组 表示:数组a中的元素都为int型指针 元素表示:*a[i] *(a[i])是一样的,因为[]优先级高于*int (*a)[4] 数组指针 表示:指向数组a的指针 元素表示:(*a)[i] 注意:在实际应用中,对于指针数组,经常这样使用:typedef int* pInt;pInt a[4]; 这跟上面指针数组定义所表达的意思是一样的,只不过采取了类型变换。

5、代码演示如下: #include using namespace std;int main(){int c[4]={1,2,3,4};int *a[4]; //指针数组int (*b)[4]; //数组指针b=&c;//将数组c中元素赋给数组afor(int i=0;i<4;i++){a[i]=&c[i];}//输出看下结果cout<<*a[1]<

6、但为什么a就不用给他地址呢,a的元素是指针,实际上for循环内已经给数组a中元素指定地址了。

7、但若在for循环内写*a[i]=c[i],这同样会出问题。

8、总之一句话,定义了指针一定要知道指针指向哪里,不然要悲剧。

本文就为大家分享到这里,希望小伙伴们会喜欢。

  免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!

 
分享:
最新文章
站长推荐