吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1083|回复: 4
收起左侧

[已解决] cpp的指针为什么函数()里面已经解引用,函数体内还要解引用

[复制链接]
zds212 发表于 2021-5-9 13:32
本帖最后由 zds212 于 2021-5-9 20:54 编辑

指针函数

[C++] 纯文本查看 复制代码
#include<iostream>
using namespace std;
#include<string>


void test(int *a1,int *b1)  // 相当于 *a1=&a  ,*b1=&b  
{
    int temp = *a1;     
    *a1 = *b1;     
    *b1 = temp;
}



int main()
{
    int a = 1;
    int b = 2;
    test(&a, &b);   //传入a和b的地址到test的函数里
    cout << a << "\n" << b << "\n";
    system("pause");
        return 0;
}



----------------------------------------------------
这一段里面 函数体内的解引用不太理解   
[C++] 纯文本查看 复制代码
void test(int *a1,int *b1)  // 相当于 *a1=&a  ,*b1=&b  
{
    int temp = *a1;     
    *a1 = *b1;     
    *b1 = temp;
}

------------------------------
@苏紫方璇

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lyl610abc 发表于 2021-5-9 13:53
本帖最后由 lyl610abc 于 2021-5-9 13:59 编辑

指针比较关键的地方有两个:取变量地址 取地址中存储的数据
指针也是一种数据类型,有关指针的内容可以参考:逆向基础笔记二十 汇编 指针(一)
如果不嫌弃,看完应该能有所收获(自我推销.jpg)

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
zds212 + 1 + 1 谢谢@Thanks!

查看全部评分

ffggddss 发表于 2021-5-9 14:00
你可以这样理解
[C++] 纯文本查看 复制代码
void test(int a1[], int b1[])  // 相当于 *a1=&a  ,*b1=&b  
{
	int temp = a1[0];
	a1[0] = b1[0];
	b1[0] = temp;
}

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
lyl610abc + 1 + 1 感谢您的宝贵建议,我们会努力争取做得更好!

查看全部评分

无敌小车 发表于 2021-5-9 14:25
括号里没有解引用,只是表明a1,b1是整型指针

免费评分

参与人数 1热心值 +1 收起 理由
zds212 + 1 我很赞同!

查看全部评分

demo_plus 发表于 2021-5-9 14:57
int* a1 = &a;   // 取变量地址
int temp = *a1;  // 取地址中存储数据

免费评分

参与人数 1吾爱币 +1 收起 理由
zds212 + 1 用心讨论,共获提升!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 02:26

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表