目录
变量
概念
定义:在程序运行过程中值可变的量,称之为变量。
-
变量代表内存中(栈内存)具有特定属性的一个存储单元,它是用来存储数据的,也就是存放变量的值。
-
变量应该有一个名字,以便于通过名字访问变量。

格式
数据类型 变量名列表;
举例
/*************************************************************************
> File Name: demo01.c
> Author: 三道渊
> Description: 变量
> Created Time: 2025年07月09日 星期三 09时53分54秒
************************************************************************/
#include <stdio.h>
int main(int argc,char *argv[])
{
// 1. 声明变量并初始化
// 解释:向内存申请一块存储空间,并给这个空间添加一个初始数据
// 命名:变量名就是标识符的一种,命名规则:以字母或者下划线开头,只能包含数字、字母、下划线,举例:set_user
// 演示变量名的命名:_int,num2
int age = 21; // 注意:= 不是关系运算符等于,这里称作赋值运算符,意思是将右边的常量21赋值给左边的变量。顺序:由右到左
// 2. 先声明,再赋值
int count;
count = 10;
// 3. 初始化和赋值并行
int number = 12;
printf("%d\n", number); // 12 %d:以十进制int的方式格式化输出
number = 22; // 此时会覆盖掉number原本的值
printf("%d\n", number); // 22
// 4. 我们可以为多个变量定义同一类型,多个变量之间使用逗号分隔
int a, b = 10, c; // 此时我们定义了3个变量,只有b初始化了,其他两个变量未初始化
// 访问未初始化的变量?
// 访问一个未初始化的变量不会报错,但是不建议访问,因为此时变量空间中的数据是系统分配的随机值。
printf("%d,%d,%d\n",a,b,c);
return 0;
}
基本类型:(整型、浮点型、字符型)我们创建变量的同时,在内存中开辟对应的内存空间。
命名规范
-
以字母或者下划线,后面跟字母、数字、下划线。举例:int,number,num1
-
不能与关键字(如:if,int,float等)或者预定义标识符(如:printf,main)重名
-
变量名,变量值,变量空间(变量所占存储单元)之间的关系

标识符
定义:用来表示对象名字的有效字符。对象包括变量、常量、函数、数组、构造类型等
构成:
-
C语言标识符只能由字母、数字、下划线构成。且只能以下划线或者字母开头
-
编译系统对字母的大小写敏感(区分大小写)。常量名和枚举名一般用大写字母+下划线,常量名和函数名一般用小写字母+下划线。
变量:set_count
函数:setCount() //C语言支持
常量、枚举:SET_COUNT
-
C语言中有3类标识符:
-
关键字:有32个,系统由特定的含义和用途,不能用作自定义标识符:
auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while -
系统预定义的标识符:如系统提供的函数名sim,printf,main,scanf等以及预处理指令include,define等。
C语言中有12个预处理指令:
define endif elif error line include ifdef ifnodef pargma undef if else注意:以上预处理指令使用的时候,在前面需添加
#,如#include -
用户标识符:用户定义的标识符,用来给变量、自定义函数、符号常量、数组、构造类型、文件等命名。
小贴士:
在C语言中,要求对所用到的变量,在使用前必须强制定义。先定义,后使用
-
使用
-
一个类型说明语句可以同时定义多个类型的变量,各个变量之间使用逗号分隔,多个同类型的变量也可以用多个类型说明语句定义:
// 写法1:一个类型说明语句可以同时定义多个类型的变量 // 优点:简洁 // 缺点:可读性较差 int a, b, c, d; // 定义多个同类型变量,这是一种简略写法 int a1 = 3, b1 = 4, c1 = 5, d1 = 6; // 写法2:多个同类型的变量也可以用多个类型说明语句 // 优点:可读性强 // 缺点:繁琐 int aa; int bb; int cc; int dd; int aa1 = 3; int bb1 = 4; int cc1 = 5; int dd1 = 6; -
同类型说明语句定义的变量只是为这些变量分配了内存空间。以便以存放与之相同类型的数据。在未对这些变量赋值前,这些变量中的值是随机的(具体的随机由内存状态来决定),在C标准中访问未初始化的变量是“未定义行为(UB)”
/************************************************************************* > File Name: demo02.c > Author: 三道渊 > Description: > Created Time: 2025年07月09日 星期三 11时00分52秒 ************************************************************************/ #include <stdio.h> int main(int argc,char *argv[]) { int a, b, c, d; printf("%d,%d,%d,%d\n",a,b,c,d);// 此时的变量访问,属于 未定义行为(UB),不建议这样作 return 0; } // 第一次运行结果:-1543118880,32767,0,0 // 第二次运行结果:243305312,32766,0,0 -
C语言允许定义变量的同时为变量赋初始值。
-
在为长整型变量初始化或者赋值时,如果被复制的数据为基本整型常量,则C编译系统自动将被赋值数据转换为与之相依变量类型一致的数据。
long a = 12L; // 将一个long类型的常量数据12赋值给long类型的变量a,=左右两边类型一致 long b = 12; // 将一个int类型的常量数据12赋值给long类型的变量b,此时=左右两边类型不一致

-
由于各种整型变量所占的字节数有限,因此,它们存储的整数有一定的范围。
举例:
unsigned char a:1个字节,存储范围:0~255;char b:1个字节,存储范围:-128~127


被折叠的 条评论
为什么被折叠?



