C语言教程-详解 C 语言数据类型

变量是内存位置的名称。它用于存储数据。变量的值可以更改,并且可以多次重复使用。
通过符号来表示内存位置,以便可以轻松识别。
让我们看一下声明变量的语法:
type variable_list;
声明变量的示例如下:
int a;
float b;
char c;
这里,a、b、c 是变量。int、float、char 是数据类型。
我们也可以在声明变量时提供值,如下所示:
int a = 10, b = 20; // 声明两个整数类型的变量
float f = 20.8;
char c = 'A';
定义变量的规则
- 变量可以由字母、数字和下划线组成。
- 变量名可以以字母和下划线开头,但不能以数字开头。
- 变量名中不能包含空格。
- 变量名不能是保留字或关键字,例如 int、float 等。
有效的变量名
int a;
int _ab;
int a30;
无效的变量名
int 2;
int a b;
int long;
C 中的变量类型
C 语言中有许多类型的变量:
- 局部变量
- 全局变量
- 静态变量
- 自动变量
- 外部变量
局部变量
在函数或块内声明的变量称为局部变量。
它必须在块的开头声明。
void function1(){
int x = 10; // 局部变量
}
必须在使用局部变量之前对其进行初始化。
全局变量
在函数或块外声明的变量称为全局变量。任何函数都可以更改全局变量的值。它对所有函数都是可用的。
它必须在块的开头声明。
int value = 20; // 全局变量
void function1(){
int x = 10; // 局部变量
}
静态变量
使用 static 关键字声明的变量称为静态变量。
它在多次函数调用之间保持其值不变。
void function1(){
int x = 10; // 局部变量
static int y = 10; // 静态变量
x = x + 1;
y = y + 1;
printf("%d, %d", x, y);
}
如果多次调用该函数,局部变量将为每个函数调用打印相同的值,例如 11, 11, 11 等。但静态变量将在每个函数调用中打印递增的值,例如 11, 12, 13 等。
自动变量
C 语言中,默认情况下,所有在块内声明的变量都是自动变量。我们可以使用 auto 关键字显式声明自动变量。
void main(){
int x = 10; // 局部变量(也是自动变量)
auto int y = 20; // 自动变量
}
外部变量
我们可以使用外部变量在多个 C 源文件中共享一个变量。要声明外部变量,需要使用 extern 关键字。
myfile.h
extern int x; // 外部变量(也是全局变量)
program1.c
#include "myfile.h"
#include <stdio.h>
void printValue(){
printf("Global variable: %d", x);
}
注意:在某个文件中定义外部变量,并在其他文件中使用时,需要确保在使用外部变量之前,先在定义的文件中进行初始化。