C语言学习#day4

一、C变量
1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。另一种是不需要建立存储空间的,通过使用extern关键字声明变量名而不定义它。 例如:extern int a 其中变量 a 可以在别的文件中定义的。除非有extern关键字,否则都是变量的定义。
注:extern是计算机语言中的一个关键字,可置于变量或者函数前,以表示变量或者函数的定义在别的文件中。提示编译器遇到此变量或函数时,在其它模块中寻找其定义,另外,extern也可用来进行链接指定。
2、变量是左值,因此可以出现在赋值号的左边。数值型的字面值是右值,因此不能被赋值,不能出现在赋值号的左边。下面是一个有效的语句:int g = 20;
但是下面这个就不是一个有效的语句,会生成编译时错误:10 = 20;
二、常量
1、整数常量: 前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。
下面列举几个整数常量的实例:
212 /* 合法的 /
215u /
合法的 /
0xFeeL /
合法的 /
078 /
非法的:8 不是八进制的数字 /
032UU /
非法的:不能重复后缀 /
以下是各种类型的整数常量的实例:
85 /
十进制 /
0213 /
八进制 /
0x4b /
十六进制 /
30 /
整数 /
30u /
无符号整数 /
30l /
长整数 /
30ul /
无符号长整数 /
2、浮点常量:指数是用 e 或 E 引入的。
下面列举几个浮点常量的实例:
3.14159 /
合法的 /
314159E-5L /
合法的 /
510E /
非法的:不完整的指数 /
210f /
非法的:没有小数或指数 /
.e55 /
非法的:缺少整数或分数 */
3、字符常量: 括在单引号中
下表列出了一些这样的转义序列码:
在这里插入图片描述
4、字符串常量
一个字符串包含类似于字符常量的字符:普通的字符、转义序列和通用的字符。
5、定义常量
(1)使用 #define 预处理器;
(2)使用 const 关键字。
三、存储类
1、auto存储类:所有局部变量默认的存储类,auto 只能用在函数内,即 auto 只能修饰局部变量。
2、register 存储类:用于定义存储在寄存器中而不是 RAM 中的局部变量。这意味着变量的最大尺寸等于寄存器的大小(通常是一个词),且不能对它应用一元的 ‘&’ 运算符(因为它没有内存位置)。
3、static 存储类:使用 static 修饰局部变量可以在函数调用之间保持局部变量的值,修饰全局变量时,会使变量的作用域限制在声明它的文件内。
4、extern存储类:提供一个全局变量的引用,全局变量对所有的程序文件都是可见的。extern是用来在另一个文件中声明一个全局变量或函数,通常用于当有两个或多个文件共享相同的全局变量或函数的时候。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值