当前位置: 首页 > article >正文

c++二级指针

如果要通过函数改变一个指针的值,要往函数中传入指针的指针
如果要通过函数改变一个变量的值,那就要往函数中传入这个变量的地址

改变a的值和b的值

#include <iostream>

using namespace std;

void swap(int* a, int* b) {
    int temp = *a;
    *a = *b;
    *b = temp;
}

int main() {
    int a = 10;
    int b = 20;
    int* pa = &a;
    int* pb = &b;

    cout << a << endl; // 10
    cout << b << endl; // 20
	
	//需要传入a和b的地址
    swap(pa,pb);
    cout << "-------swap()--------" << endl;
    cout << a << endl; // 10
    cout << b << endl; // 20

    return 0;
}

在这里插入图片描述

改变pa的值和pb的值

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

#include <iostream>

using namespace std;

void changepoint(int** ppa, int** ppb) {
    int* temp = *ppa;   //*ppa=1000=*1090=*(&pa)=pa
    *ppa = *ppb;
    *ppb = temp;
}

int main() {
    int a = 10;
    int b = 20;
    int* pa = &a;
    int* pb = &b;
    cout << *pa << endl; // 10
    cout << *pb << endl; // 20

    //需要传入pa和pb的地址
    changepoint(&pa, &pb);
    cout << "-------changepoint()--------" << endl;
    cout << *pa << endl; // 10
    cout << *pb << endl; // 20

    return 0;
}

在这里插入图片描述


http://www.kler.cn/a/370065.html

相关文章:

  • 2024年智慧消防一体化安全管控年度回顾与2025年预测
  • C++17 新特性深入解析:constexpr 扩展、if constexpr 和 constexpr lambda
  • 本地 AI 模型“不实用”?
  • node.js 文件操作
  • “大模型横扫千军”背后的大数据挖掘--浅谈MapReduce
  • 微信小程序:实现单选,多选,通过变量控制单选/多选
  • 数据结构作业day03
  • 我们正在谈论 CI/CD
  • SpringBoot框架下安康旅游网站的设计与实现
  • css实现立体骰子
  • jEasyUI 列运算
  • 基于SSM的在线旅游美食展现管理系统源码
  • 问:数据库存储过程优化实践~
  • 空值合并运算符(??) 可选链操作符(?.)
  • 使用常数指针作为函数参数
  • 聚观早报 | 荣耀Magic7朝霞金配色;一加13全球首发太阳显示技术
  • k8s 二进制部署安装(一)
  • 2020重新出发,MySql基础,MySql数据库备份与恢复
  • 交易所开发:开启数字金融新时代
  • ZooKeeper的应用场景:深入探讨分布式系统中的多样化应用
  • 基于知识图谱的智能法律案件问答系统
  • 制作Ubuntu根文件系统
  • Flink(一)
  • 使用DeepSpeed进行多机多卡训练模型
  • Bug|空心病,不知道自己要干什么
  • 大语言模型数据流程源码解读(基于llama3模型)