指针声明

Declaration of pointers

本文关键字:声明 指针      更新时间:2023-10-16

如果你要声明一些这样的指针:

int n, *p1, *p2;
double *p3;

我们是否能够确定 p1 = p2 吗?

我的理解是,所有这些代码告诉我们的是 *p1 和 *p2 是指向 int 的指针。并且 p1 和 p2 将是整数。

编辑:所以这是来自一本 c++ 书,问题问:

将以下语句标记为 True(正确)或 False(不正确):

(a) P1 = P2;

p1p2是指向整数的指针。 在代码中使用*p1*p2将获得 p1 和 p2 指向的值。您可以使用 p1 == p2 进行测试以查看指针是否相同,并使用 *p1 == *p2 查看它们指向的值是否相同。

是的,只需写p1 == p2来确定 p1 = p2。

p1p2不会是整数。它们是指针,尽管在某些环境中可以作为整数实现。

p1p2不是字面上的整数。它们指向/包含内存中可能包含整数的位置地址。

如果 p1 == p2 那么 *p1 == *p2 也是真的

你反过来了。

int *p1, *p2;

P1 和 P2 是指针和*p1 和 *p2 将是整数

现在说

*p1 = 35;
*p2 = 35;

内存位置 P1 和 P2 处的值相等。但是,P1 不必等于 P2。

另一方面

int *p1 = 0, *p2=0;
int a = 75;
p1 = &a;
p2 = p1;

现在 P1 和 P2 都包含 a 的地址,因此 P1 等于 P2;