引言:
变量其实只不过是程序可操作的存储区的名称。C 中每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。
变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同的,因为 C 是大小写敏感的。
变量的定义:
在 C 语言中,定义变量时要指定变量的类型和名称。基本语法如下:
type variable_name;
type 代表变量的类型,像 int(整数)、float(单精度浮点数)、double(双精度浮点数)、char(字符)等。
variable_name 是变量的名称,命名需遵循标识符的命名规则。
示例:
int num;
float price;
char grade;
变量的声明:
变量声明的作用是告知编译器变量的类型和名称,不过不分配内存空间。变量定义同时也是一种声明。若要在其他文件或者函数中使用已定义的变量,就要进行声明。声明变量使用 extern 关键字,语法如下:
extern type variable_name;
示例:
// 在 file1.c 中定义变量
int num = 10;
// 在 file2.c 中声明变量
extern int num;
变量的初始化:
变量初始化就是在定义变量时给它赋初值。语法如下:
type variable_name = value;
示例:
int num = 10;
float price = 9.99;
char grade = 'A';
变量的作用域:
变量的作用域指的是变量可以被访问的范围。C 语言里变量的作用域有以下几种:
局部变量:
在函数内部或者代码块内定义的变量,其作用域仅限于定义它的函数或者代码块。
#include <stdio.h>
void func() {
int num = 10; // 局部变量
printf("%d\n", num);
}
int main() {
func();
// 下面这行代码会报错,因为 num 是 func 函数的局部变量
// printf("%d\n", num);
return 0;
}
全局变量:
在函数外部定义的变量,其作用域是从定义位置到文件结束。全局变量可以被文件中的所有函数访问。
#include <stdio.h>
int num = 10; // 全局变量
void func() {
printf("%d\n", num);
}
int main() {
func();
printf("%d\n", num);
return 0;
}
变量的生命周期:
变量的生命周期指的是变量从创建到销毁的时间段。
局部变量:其生命周期是从定义它的函数或者代码块开始执行,到函数或者代码块执行结束。
全局变量:其生命周期是从程序开始执行到程序结束。
变量的类型:
C 语言提供了多种基本数据类型,下面是一些常见的类型:
整数类型:int、short、long、long long 等。
浮点类型:float、double 等。
字符类型:char。
示例:
#include <stdio.h>
int main() {
int num = 10;
float price = 9.99;
char grade = 'A';
printf("整数: %d\n", num);
printf("浮点数: %f\n", price);
printf("字符: %c\n", grade);
return 0;
}