初始c语言——常量,变量

1.什么是常量,变量

简单来讲,可以变化的值,就是变量,如:年龄,时间,分数…等一系列可以改变的值
而常量就是不能被改变的值,比如:一个人的身份证,性别…等不可以发生变化的值;我的银行卡余额应该也是…(一直为0)😅

1.2const修饰的常变量

static可以将一个变量,变成一个常量,值不能被改变;这个变量具有常属性,但本质上还是一个变量
例:

#include<stdio.h>
int main()
{
	const int i=10;	
	int arr[i]={0};  //会报错,因为虽然i不能被改变,但只能说其具有常属性,本质上还是一个变量,而数组的大小【】内只能是一个常量
	int arr1[10]={0};

}

2.数据类型

在生活中,不同的信息里都含有数据,而数据也分多种类型,比如年龄,就是整型:32,18;像性别,血型等,是字符型:O,男;像π就是浮点型:3.1415926

而在c语言中,有多种数据类型,而不同的类型所占空间的大小也不同,我们可以通过 sizeof() 来计算每个类型的大小
请添加图片描述
这里每个类型的单位是字节

2.1计算机中的存储单位

那么什么是字节呢?
在计算机中,最小的存储单位是比特位(bit),一个比特位就是一个0或1,表示两种不同的状态
8个bit = 1Byte,这里的Byte就是字节,简称B
1024B = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB

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

每一个变量都拥有其对应的生命周期,和作用域
举个例子:
鱼离开水,就活不了,那么水这个范围,就是它的生命周期;而鱼在水里才能游走,所以水这个范围就是它的作用域。

一个变量的作用域就是它所在的局部范围,也就是在这个变量创建的范围内{int a},那么这个范围就是它的生命周期,并且这个变量只能在这个范围内使用,所以{ },同样是它的作用域

总的来说就是:一个变量,进入作用域,开始创建,生命周期开始,出了作用域,地址还给内存,生命周期结束

3.1static修饰的静态局部变量

当static修饰一个局部变量时:
会使其的生命周期发生改变。正常的变量,是在栈区上申请内存空间,其生命周期结束时,变量的地址会还给内存。而被static修饰的静态局部变量,是直接在静态区申请内存,其生命周期和全局变量,也就是整个工程一致。但是这个变量的作用域不变;

就是相当于,我将一条鱼,拿出来(变量出作用域范围);
将它放在鱼缸里,不能自由游动,但是还活着(被static修饰的变量,不能使用,但是存在);
再将其放回海里,鱼可以自由游动(变量回到作用域,不需要重新初始化,可以接着上次的值继续使用)

4.#define修饰的标识符常量

就相当于给常量取了一个名字,本质上就是一个常量,可以直接使用

#include<stdio.h>
#define i 10
int main()
{
	int a=10;
	int arr1[a]={0}; //错误,数组初始化大小不能是变量
	int arr2[i]={0}; //这个时候,【】里就可以用i,因为 i 只是常量10的另一种称呼方法,就是常量10
	int arr3[10]={0};

}

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值