「C语言基础」关于数据类型,变量的作用域&生命周期

「C语言基础」关于数据类型,变量的作用域&生命周期,第1张

「C语言基础」关于数据类型,变量的作用域&生命周期 引用:

       首先,我对储存做一个简单的介绍,在计算机中采用是二进制的存储方式,及0和1的不同排列组合,如10在二进制下为00001010。每个0或者1被称作一个位(bit),也称比特,8个位组成一个字节(byte),1024byte就组成了常见的1KB,1024KB=1MB......

一、数据类型
  • char             字符型                     //定义字母、符号类型的变量
  • int                 整型                        //定义整数
  • long             长整型                     //定义整数
  • short            短整型                    //定义整数
  • float             单精度浮点型         //定义小数
  • double         双精度浮点型         //定义小数

       为说明int、long、short和float、double的区别,在此引入sizeof()函数,该函数的作用是计算内存的大小

#include
int main()
{
	printf("%un", sizeof(int));
	printf("%un", sizeof(short));
	printf("%un", sizeof(long));
	printf("%un", sizeof(float));
	printf("%un", sizeof(double));
	printf("%un", sizeof(char));
	return 0;
}

运行结果如下图

4
2
4
4
8
1

由此可知

int类型所占内存为4byte

short类型顾名思义是短些的整型,所占内存为2byte

但long类型的却和int型所占内存相等,会不会是哪出了什么问题?

其实没有,long的规定是>=int即可,所以long在不同的编译器上可能显示的值不同

二、变量的作用范围及生命周期
1、全局变量

在外部所定义的变量,简单来说就是在括号外定义的变量

不受括号的束缚,它的作用范围可以覆盖整个程序

而生命周期是和作用范围息息相关的,当在这个范围内进行程序的运行,那么这个变量的生命周期也就开始了,如果这个变量的作用范围已经不会再生效了,那这个变量的生命也就终止了。

所以,由于全局变量的作用域为整个程序,所以当程序开始时,它的生命周期就开始了,当程序终止时,它的生命周期就终止了。

它的生命周期是整个程序的运行过程

2、局部变量

在内部定义的变量,就是在大括号内部定义的变量

受到括号的制约,它的作用范围仅在括号内

由于局部变量的作用域仅在括号内,所以它的生命周期仅在括号内的程序运行时

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5658205.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存