C++指针和内存分配方面的指针标识

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 yint c作为指针的两个变量,他们如何在C++中管理自己的内存?

一般来说,我的问题是指针本身如何处理内存分配?因为指针本身是组织记忆的一种突出方式.

提前致谢

Som*_*ude 8

如果你的意思是

int x = 0;
int* y = &x;
int* c = y;
Run Code Online (Sandbox Code Playgroud)

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

此外,无论是yc是不同的变量,以分配给他们自己的记忆.这可以通过打印变量的地址轻松验证,即打印&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 | --/
+---+

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