作为编程专业概念的新手,我想到C ++指针,它们是内存块的地址。从逻辑上讲,任何指向它们的东西实际上都指向第一个变量。
如果int x = 0;
那么如果int y points to int x
; 再一次,如果int c points to int y
确实指向int x
; 我认为这是真的?
我的问题是,关于int y
和int c
作为指针的两个变量,如何在C ++中管理其自身的内存?
通常,我的问题是如何为指针本身处理内存分配?由于指针本身是组织内存的一种突出方式。
提前致谢
如果你的意思是
int x = 0;
int* y = &x;
int* c = y;
然后是,双方y
并c
点到x
位于内存中。
同样,y
和c
都是不同的变量,并为其分配了自己的内存。可以通过打印变量的地址(即print&y
和)轻松地进行验证&c
。
更加图形化地,它是这样的:
int x = 0;
分配一些内存并将其初始化为零:
+- | x | +-
然后
int* y = &x;
看起来像这样:
+ --- + + --- + | y | -> | x | + --- + + --- +
最后
int* c = y;
将使一切看起来像这样:
+- | 和 -\ + --- + \ + --- + >-> | x | + --- + / + --- + | c | -/ +-
还要注意,指针变量实际上与任何其他整数变量没有什么不同,该值只是它们指向的地址。只是编译器以特殊方式对待它们。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句