wal*_*lle 5 c++ pointers memory-address
如果我们有代码:
int b = 10;
int* a = &b;
std::cout << a << " " << &a << " ";
Run Code Online (Sandbox Code Playgroud)
结果,地址不同。
但是指针的地址是什么意思呢?
指针具有变量地址的值,因为我们在内存中有一个变量。但是我们内存中并没有存储地址的值,那么为什么我们会有一个地址的地址呢?
可能我的理解有些偏差,谢谢大家的帮助。
请记住,您计算机上的地址本身就是一个 32 或 64 位值(取决于您的系统架构)。
在您的示例中,整数 b 将值 10 存储在某个地址中,我们将其称为地址 500
然后你有一个指针a,它存储值500,并且IT有它自己的地址。
重点是什么?您实际上可以拥有双指针(或更多)。
你明白在
char* string = "hello";
Run Code Online (Sandbox Code Playgroud)
string 是指向字符数组开头的指针
然后
char** strings;
Run Code Online (Sandbox Code Playgroud)
是一个指向 char* 的指针。例如,这就是如何处理数组的数组。
| 归档时间: |
|
| 查看次数: |
6292 次 |
| 最近记录: |