变量是内存位置的名称。它用于存储数据。其值可以更改,可以重复使用多次。
它是通过符号表示内存位置的方法,以便可以容易识别。
我们来看一下声明一个变量的语法:
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语言中有很多变量类型:
- 局部变量
- 全局变量
- 静态变量
- 自动变量
- 外部变量
1.局部变量
在函数或块中声明的变量称为局部变量。它必须在块的开始处声明。
void function1(){
int x=10;//local variable
}
在使用局部变量之前必须要初始化它。
2.全局变量
在函数或块之外声明的变量称为全局变量。任何函数都可以改变全局变量的值。它可用于所有函数。它必须在块的开始处声明。
int value=20;// 全局变量
void function1(){
int x=10;// 局部变量
}
3.静态变量
用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
等。
4.自动变量
默认情况下,在块内声明的C语言中的所有变量都是自动变量。通过我们可以使用auto
关键字显式声明自动变量。
void main(){
int x=10;//local variable (also automatic)
auto int y=20;//automatic variable
}
5.外部变量
我们可以通过使用外部变量来共享多个C源文件中的变量。 要声明一个外部变量,需要使用extern
关键字。
源文件:myfile.h 代码如下 -
extern int x = 10; // 外部变量 (也可叫全局变量)
源文件:program1.c 代码如下 -
#include "myfile.h"
#include <stdio.h>
void printValue(){
printf("Global variable: %d", global_variable);
}