指针的定义是什么呢?指针变量的定义是什么呢?指针变量的定义有哪两种呢?int *p中的int是什么意思呢?int * p中的*是什么意思呢?*p中的*是什么意思呢?

问题描述:

根据下面的代码和结果回答下面的问题:

// Created by 黑马程序员.
#include "iostream"
using namespace std;

/**
 * 指针变量语法:
 *     数据类型 * 变量名 = 内存地址;
 * `*` 在`声明`时,表示指针变量
 * `*` 在`使用`时,取指针变量指向内存区域内的`数值`
 * `&` 取变量的内存地址,如&num,得到num变量的内存地址
 */

int main()
{
    int num = 10;   // 标准的int类型变量,存放了一个int值 10

    int * p;        // 声明了一个p指针变量,这个指针变量中记录的地址(内存区域)存的是int
    // 指针变量(如上的p变量),只用来记录内存地址
    p = #       // 将num变量的地址,赋予了p指针变量

    cout << "&num取地址的结果是:" << &num << endl;
    cout << "指针变量p中记录的地址是:" << p << endl;
    cout << "取指针变量记录地址中存放的数值: " << *p << endl;

    // 直接展示对内存的操纵
    *p = 20;        // 等同于 num = 20;
    cout << "*p赋值后,结果:" << *p << endl;
    cout << "num的结果:" << num << endl;
    return 0;
}

结果:

D:\CLion_code\cmake-build-debug\CLion_code.exe
&num取地址的结果是:0x7ed15ffa94
指针变量p中记录的地址是:0x7ed15ffa94
取指针变量记录地址中存放的数值: 10
*p赋值后,结果:20
num的结果:20

Process finished with exit code 0

 问题:

指针的定义是什么呢?特定类型数据在内存中的存储地址。指针变量的定义是什么呢?记录指针(内存地址)的变量。指针变量的定义有哪两种呢?第一种、先声明后赋值。第二种声明和赋值同时进行。int *p中的int是什么意思呢?说明指针指向区域的数据类型是int。int * p中的*是什么意思呢?*符号在声明是,指代变量为指针变量。*p中的*是什么意思呢?*符号在使用时,取指针指向内存区域的数值,表示取这个动作的意思,比如*p表示数字10。&num,取num变量内存地址,&表示取这个动作,不过和*的区别是*取的动作是地址对应的数值,而&表示的是地址。

问题解答:

你的问题围绕指针的概念和语法。以下是对这些问题的详细解答:

  1. 指针的定义

    • 指针是一个变量,它存储的是另一个变量的内存地址。也就是说,指针指向的是某个特定类型的数据在内存中的存储位置。
  2. 指针变量的定义

    • 指针变量是用来存储内存地址的变量。它记录的是指针所指向的内存地址,而不是实际的数据值。
  3. 指针变量的定义方式

    • 指针变量的定义有两种方式:
      1. 先声明后赋值:先声明一个指针变量,然后将一个变量的内存地址赋值给它。例如:
        int *p;
        p = &num;
        

      2. 声明和赋值同时进行:在声明指针变量时,同时给它赋值。例如:
         
        int *p = &num;
        

  4. int *p中的int是什么意思

    • 这里的int表示指针指向的区域的数据类型是int。换句话说,p是一个指向int类型数据的指针。
  5. int * p中的*是什么意思

    • 在声明语句中,*表示该变量是一个指针变量。例如,int *p表示p是一个指向int类型数据的指针。
  6. *p中的*是什么意思

    • 在使用时,*表示取指针变量指向的内存地址中存储的数值。例如,*p表示获取指针p指向的内存地址中存储的实际数据值。
  7. &num中的&是什么意思

    • &表示取某个变量的内存地址。例如,&num表示获取变量num的内存地址。与*不同,*在使用时取的是地址对应的数值,而&取的是变量的地址。

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神笔馬良

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值