Mos*_*ebi 1 c c++ memory pointers memory-management
作为专业编程概念的新手,我正在考虑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;
Run Code Online (Sandbox Code Playgroud)
然后是,双方y并c点到x位于内存中.
此外,无论是y和c是不同的变量,以分配给他们自己的记忆.这可以通过打印变量的地址轻松验证,即打印&y和&c.
更具图形性,它是这样的:
int x = 0;
Run Code Online (Sandbox Code Playgroud)
分配一些内存并将其初始化为零:
+---+ | x | +---+
然后
int* y = &x;
Run Code Online (Sandbox Code Playgroud)
将如下所示:
+---+ +---+ | y | --> | x | +---+ +---+
最后
int* c = y;
Run Code Online (Sandbox Code Playgroud)
将使它看起来像这样:
+---+
| y | --\
+---+ \ +---+
>--> | x |
+---+ / +---+
| c | --/
+---+
还要注意,指针变量实际上与任何其他整数变量没有什么不同,该值只是它们指向的地址.只是编译器以特殊方式处理它们.