使用*(指针+ i)与指针[i]

时间:2012-04-24 18:44:12

标签: c++ pointers

请有人解释一下这段代码

// Option 1
int **p = new Point*[2];
p[1] = new Point;
p[1]->x = p[1]->x = 1;

// Option 2
int **p = new Point*[2];
*(p+1) = new Point;
(*(p+1))->x = (*(p+1))->x = 1;

这两个选项不一样吗?为什么当我使用选项2创建变量时,我不能用选项1写出它的值(我有随机数(地址号?))?有什么不同吗?

1 个答案:

答案 0 :(得分:1)

你有一个拼写错误:(*(p+1))->x = (*(p+1))->x = 1; - 在第二个字词中应为y