当前位置:首页 > Software > C++ > 正文内容

一小时搞定C++_5

chanra1n6年前 (2019-11-05)C++4750

讲到函数就可以讲讲局部变量和全局变量了,

什么是局部变量呢?什么又是全局变量?

 #include <iostream> 
using namespace std;
int x,y,z;//x,y,z是全局变量 
int addnum(int a,int b)//a,b是局部变量,也是参数
{
	return a+b;
}
int main()  
{ 
	int num1,num2;//num1,num2是局部变量 
	num1=5;
	num2=10;
    cout << addnum(num1,num2);
    return 0;
 }

一句话原理:在函数体内定义的变量就是局部变量,在函数体之外定义的就是全局变量

局部变量和全局变量有什么性质呢?

局部变量只能在定义它的那个函数体内使用,全局变量可以在整个C++程序中的任何地方使用!

不听不听,我不听!

让我们看看,倘若我偏要在别的函数内使用局部变量会什么样?

image.png

image.png

会报错,你的程序无法运行!

所以请大家务必注意,全局变量和局部变量的使用

最后一点:局部变量在每次函数调用的时候都会被定义,而在函数运行完成后被销毁,也就是说局部变量会随着所在函数的产生而产生,销毁而销毁。

如果想不销毁怎么办?

 #include <iostream> 
using namespace std;
int x,y,z;//x,y,z是全局变量 
int addnum(int a,int b)//a,b是局部变量 
{
	static int d=0,c=0;
	d=d+1;
	c=c+2;
	return a+b+c+d;
}
int main()  
{ 
	int num1,num2;//num1,num2是局部变量 
	num1=5;
	num2=10;
    cout << addnum(num1,num2);
    cout << addnum(num1,num2);
    cout << addnum(num1,num2);
    return 0;
 }

很简单,在你不想让局部变量初始化的变量声明前面加上 static 就行了!

扫描二维码推送至手机访问。

版权声明:本文由我的FPGA发布,如需转载请注明出处。

本文链接:https://www.myfpga.cn/index.php/post/42.html

分享给朋友:

“一小时搞定C++_5” 的相关文章

c++类的构造函数

c++类的构造函数

 c++的目标之一是让使用类对象就像使用标准类型一样, 也就是说,常规的初始化语法不适用于类型Stock: int year=2001;  struct thing    {      char *pn;      int m;      };      thing amabob={"w...

一小时搞定C++_3

一小时搞定C++_3

什么是注释?#include <iostream> int main()//我是注释  {/*我是注释*/ /*我 是 注 释 */     std::cout <&...

数据结构

数据结构

#include<iostream> using namespace std; struct books{ char name[10]; int num; float price; }book; int&nb...

C++ 数组的各类性质和用法

C++ 数组的各类性质和用法

#include<iostream>  using namespace std; void addarr(int *k,int len); //文中形如sizeof(x)/sizeof(x[0]) 是用数组占用空...