📜  C语言中的变量

📅  最后修改于: 2020-10-21 06:51:14             🧑  作者: Mango

C中的变量

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

这是一种通过符号表示存储位置的方法,以便可以轻松识别它。

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

type variable_list;

下面给出了声明变量的示例:

int a;
float b;
char c;

这里,a,b,c是变量。 int,float,char是数据类型。

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

int a=10,b=20;//declaring 2 variable of integer type
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;//local variable
}

您必须先初始化局部变量,然后才能使用它。

全局变量

在函数或块外部声明的变量称为全局变量。任何函数都可以更改全局变量的值。所有功能均可用。

必须在块的开头声明它。

int value=20;//global variable
void function1(){
int x=10;//local variable
}

静态变量

用static关键字声明的变量称为static变量。

它在多个函数调用之间保留其值。

void function1(){
int x=10;//local variable
static int y=10;//static variable
x=x+1;
y=y+1;
printf("%d,%d",x,y);
}

如果您多次调用此函数,则局部变量将为每个函数调用print相同的值,例如11,11,11,依此类推。但静态变量将在每个函数调用print递增的值,例如11,12,13等。

自动变数

默认情况下,在块内声明的C中所有变量都是自动变量。我们可以使用auto关键字显式声明一个自动变量。


void main(){
int x=10;//local variable (also automatic)
auto int y=20;//automatic variable
}

外部变量

我们可以使用一个外部变量在多个C源文件中共享一个变量。要声明外部变量,您需要使用extern关键字。

myfile.h

extern int x=10;//external variable (also global)
#include "myfile.h"
#include 
void printValue(){
    printf("Global variable: %d", global_variable);
}