C语言入门篇--局部全局变量的作用域及生命周期

 更新时间:2021年08月26日 14:48:46   作者:yycure  
本篇文章是c语言基础篇,本文对初识c语言的变量、局部全局变量的作用域及生命周期做了简要的概述,希望可以帮助大家快速入门c语言的世界,更好的理解c语言

1.变量的分类

1.1 局部变量

也称临时变量,在函数、代码块内定义,一般只可在代码块内部使用的变量。

1.2 全局变量

具有全局性,放在函数外,在同一___.c文件中可在其定义之后的任何地方使用。

(1)main函数也是函数。

(2)若想在全局变量定义之前使用全局变量,可以对其做前向声明后使用。

(3)全局变量是支持跨文件访问的。

1.3 知识点

1.3.1 就近原则

局部变量和全局变量同名采取–>就近原则。

若全局变量和局部变量同名时,优先使用离使用地方近的变量。(不推荐使用同名的变量)

#include <stdio.h>
int global = 2020;//全局变量
int main()
{
	int local = 2021;//局部变量
	int global = 2022;//局部变量
	printf("global = %d\n", global);
	return 0;
}

在这里插入图片描述

1.3.2 访问规则

全局变量在任何函数内都可被直接访问,而局部变量只可在本函数内被访问。

#include <stdio.h>
double weight = 45.5;//全局变量
void fun()
{
	printf("%f\n", weight);
	printf("%f\n", high);//error!
}
int main()
{
	double high = 180.5;//局部变量
	printf("%f\n", weight);
	printf("%f\n", high);
    fun();
	return 0;
}

在这里插入图片描述

1.3.3 有效范围

C语言中变量只在定义变量及以后的区域中有效(与宏类似)。

#include <stdio.h>

int main()
{
	printf("%f\n", weight);//error!
}	
	return 0;
}
double weight = 45.5;

在这里插入图片描述

2.变量的使用

(1)变量先定义后使用。

(2)注意输入输出格式控制,scanf切记加&。

#include <stdio.h>

int main()
{
	int num1 = 0;
	int num2 = 0;
	int sum = 0;
	printf("输入两个操作数:>");
	scanf("%d %d", &num1, &num2);
	sum = num1 + num2;
	printf("sum = %d\n", sum);

	return 0;
}

在这里插入图片描述

3.变量的作用域和生命周期

3.1 作用域

指变量可有效作用的范围。

3.1.1 局部变量的作用域

是变量所在的局部范围。

3.1.2 全局变量的作用域

是整个工程。

3.2 生命周期

指变量的创建到变量的销毁之间的时间段(即变量的存在时间)。

3.2.1 局部变量的生命周期

是进入作用域 生命周期开始,出作用域 生命周期结束。

当函数调用完后此变量也就释放掉了。
(随函数的调用而形成,随函数的释放而释放。)

3.2.2 全局变量的生命周期

是整个程序的生命周期。

程序跑起来后到程序退出一直存在。
(随程序的存在而存在,随程序的结束而释放。)

以上就是C语言入门篇--局部全局变量的作用域及生命周期的详细内容,更多关于C语言的资料请关注脚本之家其它相关文章!

相关文章

  • C语言实现宿舍管理系统

    C语言实现宿舍管理系统

    这篇文章主要为大家详细介绍了C语言实现宿舍管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • C语言中判断两数组中是否有相同的元素

    C语言中判断两数组中是否有相同的元素

    下面是我在做IF语句练习时遇到的一个练习题,想要整理在博客上判断两个数组中是否有相同的元素,需要的朋友可以参考下
    2019-10-10
  • c++类和对象基本概念

    c++类和对象基本概念

    这篇文章主要为大家介绍了c++类和对象,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • VS Code+msys2配置Windows系统下C/C++开发环境

    VS Code+msys2配置Windows系统下C/C++开发环境

    我们在windows10中使用VS Code做C++程序开发过程中,需要安装MSYS2和MinGW,下面这篇文章主要给大家介绍了关于VS Code+msys2配置Windows系统下C/C++开发环境的相关资料,需要的朋友可以参考下
    2022-12-12
  • C语言如何计算两个数的最小公倍数

    C语言如何计算两个数的最小公倍数

    这篇文章主要介绍了C语言如何计算两个数的最小公倍数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • C++ opencv图像平滑滤波器使用示例

    C++ opencv图像平滑滤波器使用示例

    这篇文章主要为大家介绍了C++ opencv数字图像处理图像平滑滤波器的使用示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • C++11标准库bind函数应用教程

    C++11标准库bind函数应用教程

    bind函数定义在头文件functional中,可以将bind函数看做成一个通用的函数适配器,他接收一个可调用对象,生成一个新的可调用对象来"适应"原对象的参数列表。本文将带大家详细了解一下bind函数的应用详解
    2021-12-12
  • 浅谈在函数中返回动态的内存

    浅谈在函数中返回动态的内存

    下面小编就为大家带来一篇浅谈在函数中返回动态的内存。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • C++ 程序抛出异常后执行顺序说明

    C++ 程序抛出异常后执行顺序说明

    这篇文章主要介绍了C++ 程序抛出异常后执行顺序说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • C++常用语句简介

    C++常用语句简介

    这篇文章主要介绍了C++常用语句简介,文章将要介绍的常用语句有声明变量、赋值语句、cin、cout语句、库函数、自定义函数,需要的朋友可以参考一下,希望对你有所帮助
    2021-11-11

最新评论