iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言:变量的作用域和生命周期详解
  • 523
分享到

C语言:变量的作用域和生命周期详解

2024-04-02 19:04:59 523人浏览 独家记忆
摘要

目录1.全局变量和局部变量2.变量的作用域2-1.声明外部变量的方法3.变量的生命周期4. 局部变量&自动变量总结1.全局变量和局部变量 定义在代码块外部的是全局变量 定义在

1.全局变量和局部变量

定义在代码块外部的是全局变量

定义在代码块内部的是局部变量

什么是代码块?


//这是代码快外部
int main()
{
//这是代码块内部
}

实际上用int main来演示是不太对的,实际使用的时候我们定义变量是在int main内部定义的

下面这个例子更加清晰明了


int main()
{
	int i = 0;//这是代码块外部-i全局变量
	for(i=0;i<10;i++)
	{//代码块开始
		int j=0;//这是代码块内部-j局部变量
        for(j=0;j<10;j++)
	}//代码块结束
}

需要注意的是:

同一个变量a可以在全局,局部变量中间同时使用,局部变量优先

这里是指同时存在,同时使用,但不能同时定义

在局部的代码块中重新定义一个全局变量是错误的

下面这种形式就是 同时使用一个变量


int main()
{
    int sz = 8;
	int i = 0;
	if(i<sz)
	{
		i=1;
	}
}
  • 在我们定义变量的时候,变量的名字不能相同
  • 同时变量的名字也不应和库函数名相同

简单的说就是变量不要重复,也别和库函数冲突

2.变量的作用域

变量的作用域->变量的生效区域

  • 局部变量只在它自己的代码块中生效
  • 全局变量的作用域是整个代码

注:在VS中全局变量的作用域是整个工程

作用域的规定了变量生效区域

如果你在局部变量的代码块外部使用这个局部变量

这样是无效的,无法使用

2-1.声明外部变量的方法

在vs中全局变量的作用域是整个工程

但是如果源文件不同,我们需要打一串声明来应用工程文件中另外一个源文件的全局变量


extern int a

以下是声名变量和定义变量的代码示例


  extern int a;//声明全局变量a
  int a; //定义全局变量a
  extern int a =0 ;//定义全局变量a 并给初始值
  int a =0;//定义全局变量a,并给初始值

3.变量的生命周期

生命周期这个概念和作用域十分相似

  • 局部变量的生命周期从进入"{“开始,离开”}"结束
  • 全局变量的生命周期是整个程序(VS项目

4. 局部变量&自动变量

局部变量又称自动变量


auto int a = 0;

实际使用的时候我们一般都是省略auto的

总结

本片文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: C语言:变量的作用域和生命周期详解

本文链接: https://www.lsjlt.com/news/134128.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • c语言怎么计算字符串长度
    在C语言中,可以使用内置的strlen()函数来计算字符串的长度。该函数位于string.h头文件中。以下是一个示例代码: #inc...
    99+
    2024-05-14
    c语言
  • c语言怎么判断三个数的大小
    可以通过比较三个数之间的大小关系来判断它们的大小。以下是一个示例代码: #include <stdio.h> int ...
    99+
    2024-05-14
    c语言
  • c++排序函数sort怎么使用
    在C++中,使用sort函数对容器中的元素进行排序,可以按照默认的升序排列,也可以自定义排序规则。 下面是一个简单的例子,对一个ve...
    99+
    2024-05-14
    c++
  • c++中string的compare函数怎么使用
    在C++中,可以使用string的compare函数来比较两个string对象的大小。该函数的原型如下: int compare(c...
    99+
    2024-05-14
    c++
  • c++中string的compare函数有什么用
    c++中string的compare函数用于比较两个字符串的大小关系。该函数返回一个整数值,表示两个字符串的比较结果。 具体来说,如...
    99+
    2024-05-14
    c++
  • c++中print函数的功能有哪些
    在C++中,通常使用std::cout来进行输出操作,而不是使用print函数。std::cout是C++标准库中的一个输出流对象,...
    99+
    2024-05-14
    c++
  • c语言数据结构怎么使用
    在C语言中,数据结构可以通过定义结构体来实现。以下是一些常见的数据结构的使用方法示例: 链表: #include <std...
    99+
    2024-05-14
    c语言
  • c++中print函数的用法是什么
    在C++中没有内置的print函数,但可以使用cout来输出内容到控制台。cout是C++标准库中的一个输出流对象,可以使用<...
    99+
    2024-05-14
    c++
  • c++中concept的用法是什么
    在C++20中,Concept是一种新的语言特性,用于定义类型要求和约束。Concept可以被用来约束函数模板、类模板和普通函数的参...
    99+
    2024-05-14
    c++
  • c++中concept的作用是什么
    在C++中,concept的作用是定义一种通用的约束,用于限制模板参数的类型范围。通过使用concept,可以在编译时对模板参数进行...
    99+
    2024-05-14
    c++
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作