当前位置:首页 C++ > 正文

c++指针变量p和*p的区别

作者:野牛程序员:2023-07-21 14:22:25 C++阅读 2870

当涉及到C++的指针时,p*p是两个不同的概念:

  1. p:这是指针变量本身,它用来存储一个内存地址。指针变量可以指向其他变量或对象在内存中的位置。声明一个指针时需要指定指针类型,例如 int* p 表示 p 是一个指向整数类型的指针。

  2. *p:这是通过指针访问所指向位置的值。当我们使用解引用运算符 * 时,我们可以获取指针所指向内存地址上存储的实际值。比如,如果 p 是一个指向整数的指针,*p 将表示这个整数值。

以下是一个简单的示例说明它们的区别:

#include <iostream>

int main() {
    int num = 42;  // 定义一个整数变量 num,值为 42
    int* p = &num; // 定义一个指向整数的指针变量 p,存储 num 的地址

    std::cout << "num的值为:" << num << std::endl;  // 输出 num 的值:42
    std::cout << "p的值为:" << p << std::endl;      // 输出 p 的值(存储 num 的地址)
    std::cout << "*p的值为:" << *p << std::endl;    // 输出 *p 的值(指针 p 所指向的地址上存储的值,即 num 的值)

    return 0;
}

运行此代码,输出将是:

num的值为:42
p的值为:0x7ffcbb6c9384  (这个地址值可能因计算机而异)
*p的值为:42

总结:p 是指针变量本身,用来存储地址;*p 是通过指针访问所指向地址上存储的值。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击