gpt4 book ai didi

C++ 指针和指针在内存分配方面的身份

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:15:28 25 4
gpt4 key购买 nike

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

如果 int x = 0; 那么如果 int y 指向 int x;现在,如果 int c 指向 int y,它确实指向 int x;我认为这是真的?

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

一般来说,我的问题是如何为指针本身处理内存分配?由于指针本身是组织内存的一种重要方式。

提前致谢

最佳答案

如果你是说

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

那么是的,yc 都指向x 在内存中的位置。

此外,yc 都是不同的变量,它们有自己的内存分配。这可以通过打印变量的地址轻松验证,即打印 &y&c


更形象一点,是这样的:

int x = 0;

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

+---+| x |+---+

Then

int* y = &x;

看起来像这样:

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

And finally

int* c = y;

会让一切看起来像这样:

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

另请注意,指针变量实际上与任何其他整型变量没有区别,其值只是它们指向的地址。只是编译器以特殊的方式对待它们。

关于C++ 指针和指针在内存分配方面的身份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24385853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com