C语言教程(四):C 语言中变量的定义、声明、初始化及作用域和生命周期

发布于:2025-04-18 ⋅ 阅读:(77) ⋅ 点赞:(0)

引言:

变量其实只不过是程序可操作的存储区的名称。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 语言提供了多种基本数据类型,下面是一些常见的类型:

整数类型:intshortlonglong long 等。

浮点类型:floatdouble 等。

字符类型: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;
}