小编gom*_*son的帖子

指向数组困境的指针

关于数组和指向数组的指针,我有一个相当简单的问题.考虑这段代码片段..

int (*ptr)[3];               //A pointer to an array of 3 ints
int arr1[3] = {2,4,6,};      
ptr = &arr1;                //ptr now points to arr1

//3 different ways to express  the same address
cout << &arr1 << "\t" << arr1 << "\t" << &arr1[0] << endl;
Run Code Online (Sandbox Code Playgroud)

现在如果:

&arr1 == arr1 == &arr1[0]..
Run Code Online (Sandbox Code Playgroud)

为什么这段代码不正确:

ptr = arr1;
Run Code Online (Sandbox Code Playgroud)

要么

ptr = &arr1[0];
Run Code Online (Sandbox Code Playgroud)

这一直让我发疯...所以请任何解释将不胜感激.另外请不要这不是一个家庭作业问题,只是我想要抓住的东西.

c c++ pointer-arithmetic

2
推荐指数
1
解决办法
156
查看次数

标签 统计

c ×1

c++ ×1

pointer-arithmetic ×1