首先,我对储存做一个简单的介绍,在计算机中采用是二进制的存储方式,及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()函数,该函数的作用是计算内存的大小
#includeint 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、局部变量在内部定义的变量,就是在大括号内部定义的变量
受到括号的制约,它的作用范围仅在括号内
由于局部变量的作用域仅在括号内,所以它的生命周期仅在括号内的程序运行时
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)