C语言变量

变量是内存位置的名称。它用于存储数据。其值可以更改,可以重复使用多次。

它是通过符号表示内存位置的方法,以便可以容易识别。

我们来看一下声明一个变量的语法:

type variable_list;

声明变量的例子如下:

int a;  
float b;  
char c;

这里,abc是变量,它们分别对应:intfloatchar是数据类型。

我们还可以在声明变量时提供值,如下所示:

int a=10,b=20; // 同时声明两个整数类型的变量,并为它们分别赋值
float f=20.8;  
char c='A';

定义变量的规则

  • 一个变量名称可以有字母,数字和下划线。
  • 变量名称只能以字母和下划线开头,但是它不能以数字开始。
  • 变量名称内不允许有空格。
  • 变量名称不能是任何保留字或关键字,例如:intfloat

有效的变量名:

int a;  
int _ab;  
int a30;

无效的变量名:

int 2;  
int a b;  
int long;

C语言的变量类型

C语言中有很多变量类型:

  1. 局部变量
  2. 全局变量
  3. 静态变量
  4. 自动变量
  5. 外部变量

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);  
}

上一篇: C语言printf()和scanf()函数 下一篇: C语言数据类型