就内存分配而言,C ++指针和指针身份

要求莫斯塔法

作为编程专业概念的新手,我想到C ++指针,它们是内存块的地址。从逻辑上讲,任何指向它们的东西实际上都指向第一个变量。

如果int x = 0;那么如果int y points to int x; 再一次,如果int c points to int y确实指向int x; 我认为这是真的?

我的问题是,关于int yint c作为指针的两个变量,如何在C ++中管理其自身的内存?

通常,我的问题是如何为指针本身处理内存分配?由于指针本身是组织内存的一种突出方式。

提前致谢

一些程序员哥们

如果你的意思是

int x = 0;
int* y = &x;
int* c = y;

然后是,双方yc点到x位于内存中。

同样,yc都是不同的变量,并为其分配了自己的内存。可以通过打印变量的地址(即print&y和)轻松地进行验证&c


更加图形化地,它是这样的:

int x = 0;

分配一些内存并将其初始化为零:

+-
| x |
+-

然后

int* y = &x;

看起来像这样:

+ --- + + --- +
| y | -> | x |
+ --- + + --- +

最后

int* c = y;

将使一切看起来像这样:

+-
| -\
+ --- + \ + --- +
          >-> | x |
+ --- + / + --- +
| c | -/
+-

还要注意,指针变量实际上与任何其他整数变量没有什么不同,该值只是它们指向的地址。只是编译器以特殊方式对待它们。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章