17zwd一起做业网站,搭建手机网站,国际外贸网站建设,北京专业英文网站建设C学习笔记之变量作用域 https://www.runoob.com/cplusplus/cpp-variable-scope.html 在C程序中#xff0c;通常有 3 个地方可以声明变量
在函数或者代码块当中#xff0c;为局部变量在函数的参数定义中#xff0c;为形式参数在所有函数的外部#xff0c;为全局变量
作用域…C学习笔记之变量作用域 https://www.runoob.com/cplusplus/cpp-variable-scope.html 在C程序中通常有 3 个地方可以声明变量
在函数或者代码块当中为局部变量在函数的参数定义中为形式参数在所有函数的外部为全局变量
作用域在各种编程语言中都是很重要的概念表示的是变量有效可用的范围而常见的作用域可分为以下 4 种
局部作用域 在函数内部声明的变量具有局部作用域只能在函数内部访问局部变量在函数每次被调用时创建在函数调用结束销毁全局作用域 在所有代码块和函数之外声明的变量具有全局作用域可以被程序中的任何函数访问全局变量在程序开始的时候创建在程序结束时被销毁块作用域 在代码块内部声明的变量具有块作用域只能在代码块内部被访问在代码块被执行时被创建在代码块执行结束后被销毁类作用域 在类内部声明的变量具有类作用域可以被类中的所有成员函数访问类作用域变量的生命周期与类的生命周期相同 变量声明重名时内部作用域声明的变量的会覆盖外部作用域的 1、局部变量
在函数或代码块内部声明的变量称为局部变量只能够被函数内部代码或者代码块内部的代码使用
void doSomething()
{ // 局部作用域int temp; // 声明局部变量temp 100;
}2、全局变量
在所有函数外部定义的变量称为全局变量全局变量在程序整个生命周期内都是有效的 因此全局变量可以被任何函数访问一旦声明为全局变量在整个程序中都可用
#include iostream
using namespace std;// 声明为全局变量
int global 20;void doSomething()
{int temp;temp 100;cout doSomething global endl; // 在函数内部使用
}int main() {doSomething();cout main global endl; // 整个程序内全局变量都有效return 0;
}局部变量的名称可以与全局变量名称相同但是在函数当中时遵循**“就近原则”**因此局部变量的值会覆盖全局变量的值
#include iostream
using namespace std;int global 20;void doSomething()
{int temp;temp 100;global 200; // 局部作用域内覆盖全局变量cout doSomething global endl;
}int main() {doSomething();cout main global endl; return 0;
}3、初始化局部变量和全局变量
当局部变量被定义时系统不会对其进行初始化因此需要自行进行变量的初始化 而在定义全局变量时系统会自动初始化为以下初始值
数据类型初始值int0char‘\0’float0double0指针NULL
4、类作用域
类作用域指的是在类内部声明的变量
class Test
{
public:static string version; // 类作用域变量
};string Test::version 1.0; // 采用::进行变量访问int main() {cout version Test::version endl;return 0;
}