变量是什么,C语言变量的声明和使用(非常详细)

变量是什么,C语言变量的声明和使用(非常详细)

在 C 语言中,变量是用于存储和处理数据的。

变量可以被看作带有标签的盒子,用于存储各种数据类型的值,如整数、浮点数等。当程序运行时,它可以在变量中存储不同的值,并且可以对这些值进行操作、计算和传递。

变量是 C 语言中一个基本且重要的概念,它提供了一种方便的方式来存储和处理程序中的数据。

C语言变量的声明

声明变量可以套用如下的公式:

数据类型 + 标识符 + 分号

标识符是我们自己命名的一个标识,用于表示一个变量、函数或其他实体的名称。

例如,下面声明了几个变量:

short s;

int n;

long l;

float f;

double d;

上述代码中的 s、n、l、f 和 d 是我们自己命名的标识符,用于表示变量。

为了让编译器正确识别标识符,必须在使用前对其进行声明或定义。因此,要使标识符被编译器看作一个变量,必须在使用前将其声明为一个变量。

以下是一些示例:

【实例 1】变量 a 在使用前被正确地声明。

// 正确示例

#include

int main()

{

int a;

printf("%d\n", a); // 正确,变量a在使用前被声明了

return 0;

}

【实例 2】变量 a 在未声明的情况下被错误地使用。

// 错误示例

#include

int main()

{

printf("%d\n", a); // 错误,变量a未被声明

return 0;

}

【实例 3】变量 a 在声明前被错误地使用。

// 错误示例

#include

int main()

{

printf("%d\n", a); // 错误,变量在声明前被使用

int a;

return 0;

}

变量命名规则

在 C 语言中,声明变量的公式为“数据类型 + 标识符 + 分号”。变量名由于是标识符的一种,因此必须符合标识符的命名规则。

重新复习一遍标识符的命名规则:标识符由大小写字母、数字和下画线组成,不能以数字开头,并且必须与现有的关键字不同。

我们可以通过以下五个例子来更好地理解标识符的命名规则。

short apple; // 正确,使用了一个合法的标识符

int 88fruit; // 错误,不能以数字开头

long _pencil; // 正确,可以以下画线或字母开头

float love_you; // 正确,使用了一个下画线的合法标识符

double int; // 错误,不能使用现有的关键字作为标识符

变量的初始化和赋值

思考一下,下面实例输出的数值是多少呢?

#include

int main()

{

int a;

printf("%d\n", a);

return 0;

}

运行之后我们发现,它居然报错了,如下图所示:

图 1 使用了未初始化的局部变量

这是因为变量 a 在使用之前没有被赋予任何确定的值。此时,a 的值是一个随机值,这样的随机值会导致程序产生错误的结果。Visual Studio 在默认设置下,使用这种未初始化的变量是无法通过编译的。

为了解决这个问题,我们需要为变量 a 赋予一个确定的值。常见的两种方法如下:

1) 变量声明后立即初始化

#include

int main()

{

int a = 100; // 变量a一旦被声明,就会被赋值100

printf("%d\n", a);

return 0;

}

变量 a 一旦被声明,就会被赋值 100。

2) 变量先声明,后赋值

#include

int main()

{

int a; // 变量a被声明后,它是一个随机值

a = 100; // 这里我们使用赋值运算符,将100赋予变量a

printf("%d\n", a);

return 0;

}

变量 a 被声明后未进行初始化,后续使用赋值运算符为变量赋值。

无论采用哪种方法,都能为变量 a 赋予一个确定的值,避免程序出现错误的结果。

初始化和赋值的区别

在 C 语言中,初始化和赋值都是用来给变量赋值的操作,但它们在语法和含义上有一些区别。

赋值是为已经声明过的变量赋予一个数值,写法如下。

a = 100;

初始化是在变量声明时进行的赋值操作,写法如下。

int a = 100;

可以通过赋值运算符左边的位置来区分赋值和初始化:

初始化只能在变量声明时使用,并且只能赋予一个初始值。如果变量未经初始化,在其内存位置中可能会存储随机值;

赋值可以在变量声明后的任何时候使用,而且可以多次赋值。这意味着可以先声明一个变量,稍后为其赋予一个值。

总结一下,变量可以多次被赋值,但是不能多次被声明(初始化)。

多次初始化的写法相当于将变量重复声明,在第二次声明变量时,编译器会报告一个编译错误。

下面的程序是正确的示例,它只声明了一次变量 a,并在后续的代码中为其赋值两次。

// 正确,将输出100和200

#include

int main()

{

int a;

a = 100;

printf("%d\n", a);

a = 200;

printf("%d\n", a);

return 0;

}

下面是错误的示例,它多次声明了变量 a。

// 错误,变量a被重复声明

#include

int main()

{

int a;

a = 100;

printf("%d\n", a);

int a = 200;

printf("%d\n", a);

return 0;

}

🎈 相关推荐

早安·世界杯|剧本赛?英格兰0-0美国携手默契平局
cf王者轮回活动多久出?不瞒你说,这个时间安排可得细细扒!
PSP讨鬼传游戏介绍与新手建议(最强武器分析及游戏评测)