C ++中的指针(语法)

By simon at 2018-02-07 • 0人收藏 • 41人看过

我有一些猜测我想确认。如果是,我将非常感激 有人可以帮助我。 当我在C中声明一个指针++,例如

int *x = 5;
这是否意味着*不是用于解引用,而是为了声明 指针;结果是,x是指int x的地址? 提前致谢。

2 个回复 | 最后更新于 2018-02-07
2018-02-07   #1

你几乎是正确的,int *x(也可以写int* x) 意味着x是指向int的指针...但是有不是int喜欢它呢

int *x = 5;
实际上是指x是一个连接到内存地址的指针, 应该继续一个int。由于这个地址可能没有被分配 你的程序,这可能会失败。 您可以尝试执行以下操作
int x = 5;
int *xAddr = &x;
*xAddr = 3;
这里我们用和你一样的方式声明xAddr,但是告诉它 指向的地址(这是* & *字符)的x;通过 将xAddr指向的值更改为3(第3行,这里是 取消引用),我们改变vx的数量为3 [这里](https://www.tutorialspoint.com/cprogramming/c_pointers.htm)是一个很好的 了解指针bett的教程er

2018-02-07   #2

你几乎是正确的,int *x(也可以写int* x) 意味着x是指向int的指针...但是有不是int喜欢它呢

int *x = 5;
实际上是指x是一个连接到内存地址的指针, 应该继续一个int。由于这个地址可能没有被分配 你的程序,这可能会失败。 您可以尝试执行以下操作
int x = 5;
int *xAddr = &x;
*xAddr = 3;
这里我们用和你一样的方式声明xAddr,但是告诉它 指向的地址(这是* & *字符)的x;通过 将xAddr指向的值更改为3(第3行,这里是 取消引用),我们改变vx的数量为3 [这里](https://www.tutorialspoint.com/cprogramming/c_pointers.htm)是一个很好的 了解指针bett的教程er

登录后方可回帖

Loading...