关于纠正 C/C++ 之前在函输内改变 变量的一个错误想法。

简介: 再这之前,我曾认为,一个变量只要定义为全局变量后,即使把它以传参的方式传进去一个函数内,也能改变它的值 事实证明,这一想法是错的。 下面我用代码说明,具体注释将写在里面 1 #include 2 #include 3 4 int a = 0; 5 6 void c...

再这之前,我曾认为,一个变量只要定义为全局变量后,即使把它以传参的方式传进去一个函数内,也能改变它的值

事实证明,这一想法是错的。

下面我用代码说明,具体注释将写在里面

 1 #include<stdio.h>
 2 #include<iostream>
 3 
 4 int a = 0;
 5 
 6 void change(int *b){//这个是传指针,可以改变a
 7     *b=*b+1;
 8 }
 9 
10 void change_1(int a){//这个不能改变
11     a++;
12 }
13 
14 void change_2(int &a){//传入引用,可以改变
15     a++;
16 }
17 
18 void change(){//可以改变
19     a++;
20 }
21 
22 void main(){
23     change(&a);
24     std::cout<<a;
25     change_1(a);
26     std::cout<<a;
27     change_2(a);
28     std::cout<<a;
29     change();
30     std::cout<<a;
31     
32 }

 

如果您认为这篇文章还不错或者有所收获,您可以通过扫描一下下面的支付宝二维码 打赏我一杯咖啡【物质支持】,也可以点击右下角的【推荐】按钮【精神支持】,因为这两种支持都是我继续写作,分享的最大动力


img_12e3f54d4d0f70f0eb14f20548e3d781.png
目录
相关文章
|
4月前
|
存储 IDE 编译器
深入探索C++中的变量世界:理论与实践
【4月更文挑战第5天】本文介绍了C++变量的基础知识,包括声明、数据类型、const和volatile限定符。通过示例展示了变量在用户输入、计算、控制流程和函数参数中的应用,并列举了常见错误及避免方法,如未声明、作用域混淆、类型不匹配、未初始化和拼写错误。最后提出了变量命名、避免冗余、适时复用、注释说明和利用现代C++特性的最佳实践。
61 0
|
4月前
|
存储 编译器 C++
C++程序变量存储类别:深入理解与应用
C++程序变量存储类别:深入理解与应用
61 1
|
4月前
|
存储 C++
C++程序指针变量:深入理解与实践
C++程序指针变量:深入理解与实践
41 1
|
29天前
|
存储 安全 C++
C++:指针引用普通变量适用场景
指针和引用都是C++提供的强大工具,它们在不同的场景下发挥着不可或缺的作用。了解两者的特点及适用场景,可以帮助开发者编写出更加高效、可读性更强的代码。在实际开发中,合理选择使用指针或引用是提高编程技巧的关键。
23 1
|
7天前
|
JavaScript 前端开发 Java
通过Gtest访问C++静态、私有、保护变量和方法
通过Gtest访问C++静态、私有、保护变量和方法
8 0
|
3月前
|
安全 C++
C++一分钟之-互斥锁与条件变量
【6月更文挑战第26天】在C++并发编程中,`std::mutex`提供互斥访问,防止数据竞争,而`std::condition_variable`用于线程间的同步协调。通过`lock_guard`和`unique_lock`防止忘记解锁,避免死锁。条件变量需配合锁使用,确保在正确条件下唤醒线程,注意虚假唤醒和无条件通知。生产者-消费者模型展示了它们的应用。正确使用这些工具能解决同步问题,提升并发性能和可靠性。
45 4
|
3月前
|
存储 C++ 容器
C++一分钟之-变量与数据类型入门
【6月更文挑战第18天】**C++编程基础:变量与数据类型概览** 了解变量(存储数据的容器)和数据类型是编程入门的关键。声明变量如`int age = 25;`,注意初始化和类型匹配。基本数据类型包括整型(int等)、浮点型(float、double)、字符型(char)和布尔型(bool)。理解类型范围和精度,使用字面量后缀增强可读性。深入学习数组、指针、结构体和类,以及动态内存管理,避免数组越界和内存泄漏。不断实践以巩固理论知识。
35 1
|
3月前
|
程序员 编译器 C++
探索C++语言宝库:解锁基础知识与实用技能(类型变量+条件循环+函数模块+OOP+异常处理)
探索C++语言宝库:解锁基础知识与实用技能(类型变量+条件循环+函数模块+OOP+异常处理)
33 0
|
3月前
|
C++
C++之变量与常量
C++之变量与常量
|
4月前
|
C++
c++变量作用域
c++变量作用域
36 2