指针基础:一个简单的查询

Pointers Basic : A simple query

本文关键字:一个 简单 查询 指针      更新时间:2023-10-16

我是cpp和学习指针的新手。在练习密码时,我发现了这个。当我这样做&(指针),它给出了另一个内存位置。我想知道这个地址是什么。我假设它是保存ptr的位置。它必须保存在某个地方,尽管它有值变量的内存。

#include<iostream>
using namespace std;
int main()
{
  int v =6;
  int *ptr;
  ptr = &v;
  cout << "1: " << ptr << endl;
  cout << "2: " << *ptr << endl;
  cout << "3: " << &ptr << endl;
  return 0;
}

输出:1:0x29cc6c

2:6

3:0x29cc68

正确。

输出1是指针的值,它指向的地址。

输出2是"取消引用"指针,这意味着它是输出1(指针指向的位置)中包含的值。

输出3是指针(包含输出1中的值)的存储位置。

你做得很对:

  • v是一个变量,所以&vv存储在存储器中的地址
  • ptr也是一个变量,因此&ptrptr存储在存储器中的地址

在您的示例中,因为这些变量一个接一个地存储(在本地堆栈上),所以它们的地址仅相隔4个字节。

相关文章: