天天速讯:c++适合多大的孩子学_指针数组和数组指针的区别

2023-06-03 04:27:21 来源:互联网


(相关资料图)

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

本文到此分享完毕,希望对大家有所帮助。

关键词:

相关新闻