您所在的位置: 首页 > 行业 > > 内容页

指针数组与数组指针的区别_指针数组和数组指针的区别

新闻来源:互联网 更新时间:2023-02-24 22:43:23


【资料图】

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、总之一句话,定义了指针一定要知道指针指向哪里,不然要悲剧。

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

关键词: 就为大家 举例说明

Copyright @  2015-2022 新科技版权所有  备案号: 沪ICP备2022005074号-4   联系邮箱:58 55 97 3@qq.com