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

寒假cc++学习

一、值传递和指针传递的区别

1、值传递

2、指针传递

一、值传递和指针传递的区别

1、值传递

看下面的函数并思考如何改变tmp的值

#include <iostream>
void change(int value)
{//形参value也是一个变量(局部变量),执行到change时,会给value申请内存//tmp和value的内存互不相干value = 10;return;
}int main()
{int tmp = 1;change(tmp);  // 值传递,只是将tmp的值传递到change()中去,此时只是tmp的值传给change函数std::cout << tmp << std::endl;return 0;
}

  此时输出tmp的值为:1

此时调用change将tmp作为实参,此时只是值传递

只是将change函数内的局部变量value的值修改为了10,并没有修改tmp的值

如何修改tmp的值?
(1)使用指针;(2)使用引用

2、指针传递

下面回顾指针的知识:

 1 指针定义:指针就是地址,如何给一个变量取地址?使用&
 2 int a = 10;
 3 std::cout << "a的地址是:" << &a << std::endl;
 4 既然指针即使地址了,所以可以定义一个int类型的指针,来接收a的地址
 5 int* p_a = &a;
 6 std::cout << "a的地址是:" << p_a << std::endl;
 7 
 8 在32位系统中:
 9 int类型变量占内存的4个字节(1个字节等于8位)
10 float类型变量占内存的4个字节
11 char类型的变量占内存的1个字节
12 
13 比如a等于10,在内存是如何存储的?
14 0000 0000 0000 0000 0000 0000 0000 1001
15 所以在读取int类型的指针时,就向后寻址寻32位
16 
17 此时可以通过p_a来修改a的值,此时对指针解引用
18 *p_a = 20; //等价于a=20;

 

改变tmp的值的方法:(1)使用指针

 1 #include<iostream>
 2 void change(int *p_value)//p前缀是指针
 3 {
 4     *p_value = 10;//要修改地址指向的值而不是修改地址
 5 
 6     return;
 7 }
 8 int main()
 9 {
10     int tmp = 1;
11     change(&tmp);   //指针传递,此时是将tmp的地址传给change()函数,后修改tmp地址指向的值
12     std::cout << "tmp= " <<tmp<< std::endl;
13 
14     return 0;
15 }    

 输出:tmp=10

 

http://www.jsqmd.com/news/379021/

相关文章:

  • Anthropic融资300亿美元,Claude开发商估值达3800亿美元
  • 马斯克的月球AI超级计算机计划:SpaceX与xAI合并后的新愿景
  • 完整教程:Word核心功能完全指南
  • 2026年质量好的无锡精密注塑机/高速注塑机厂家实力参考 - 行业平台推荐
  • IBM将在AI时代大幅招聘初级岗位人才
  • 2026年进口粉末钢供应商推荐:昆山市邦程特殊钢有限公司,全系粉末钢CPM10V/CPM3V/PM30等供应 - 品牌推荐官
  • 小白程序员必备:手把手教你用PyTorch构建Transformer大模型(收藏版)
  • Nodejs+vue+ElementUI的医院食堂订餐系统的设计与实现
  • 2026年口碑好的50吨电动注塑机/电动注塑机厂家最新推荐 - 行业平台推荐
  • MIT新项目研究AI如何有效对抗全球贫困
  • Nodejs+vue+ElementUI的在线教育平台 学习计划 师生互动交流express-mysql
  • 零基础入门AI大模型:12个月学习计划(收藏版),循序渐进掌握核心技能!
  • 2026年定制/封闭式/11座/8座/电动/燃油观光车厂家推荐:重庆绿爵电动车全系产品解析 - 品牌推荐官
  • Nodejs+vue+ElementUI的在线电影票购买系统express-mysql
  • 小白程序员轻松入门大模型核心技术——注意力机制
  • 中国铀业在纳米比亚先把水和港口谈妥,再去追天然铀
  • 2026年干燥设备厂家推荐:常州市元泽干燥设备有限公司,全系工业干燥解决方案专家 - 品牌推荐官
  • 2026翡翠原料精选推荐:圆猫珠宝主营翡翠原料批发、A货、缅甸料及市场供应 - 品牌推荐官
  • 小白程序员必看!收藏这份Agent大模型记忆系统工程化实战指南
  • 2026年流量计厂家实力推荐:厦门精川智能科技齿轮/蒸汽/靶式/质量/涡街流量计全场景应用 - 品牌推荐官
  • Nodejs+vue+ElementUI的医院体检预约信息管理系统express-mysql
  • 2026矿用U型钢厂家推荐:唐山市舒达仓储40U/29U/36U/25UY矿用U型钢及支护架全系供应 - 品牌推荐官
  • win11_sshd_服务_碰到的问题
  • 【报告】中国铀业参股纳米比亚Etango铀矿:3.22亿美元对价与60%承购权的资源落点
  • 2026年建房选材推荐:香河久工科技合金瓦系列,适配多场景的屋面解决方案 - 品牌推荐官
  • 2026年一体化泵站厂家推荐:河北三江环保设备有限公司,污水/雨水/玻璃钢泵站全系供应 - 品牌推荐官
  • Nodejs+vue+ElementUI的医院药品采购管理系统的设计与实现
  • 2026年一类医疗器械备案服务推荐:湖南兴旗企业管理咨询有限公司,全流程代办与技术支持 - 品牌推荐官
  • 2026年飘雪机厂家实力推荐:河南晋安机械科技,室内/人工/大型/小型/诺泰克飘雪机全系供应 - 品牌推荐官
  • 2026年郑州驾校推荐:管城/东区/航海路自带考场驾校,郑州东升驾校实力之选 - 品牌推荐官