505 字
3 分钟
Loading
本地变量
2023-10-12

本地变量:

定义在函数内部的变量叫做本地变量,也可以被称作局部变量,本地变量只会在本函数内有效,这是由函数中变量在栈的不同分区决定的。

本地变量是定义在块内的变量。可以是函数块内,也可以是语句块内(所谓块就是大括号)

本地变量的规则:进入这个块之前,当作这个变量不存在,离开这个块之后,当作这个变量消失了。在更里面的块定义的变量会掩盖掉当前块里的变量,例如这样:

Int a=10;

{

Int a=0;

Printf(“%d”,a);

}

Printf(“%d”,a);

注意!是掩盖而不是取代,例如这个程序里,两次输出的结果分别是0和10。在块内新定义的a掩盖掉了原本定义的a,所以按照块里定义的a,打印的结果应该是0,而出了这个块之后,块内的变量a就消失了,取而代之的是最开始定义的a=10,所以此处再去打印a,结果就变成了10。

在不同的块里可以定义相同名称的变量,但是在同一个块里却不能定义相同名称的变量,否则会出错,比如这样:

Int a=1;

Int a=10;

这样子是一定不行的。

另外,本地变量不会默认初始化,在使用前为了保证不出错可以先初始化在使用。但参数不一样,参数在进入函数的时候就会被默认初始化。

当函数没有参数的时候:

传统c语言里用f来表示参数未知,bi如这样:

Void f();

还是

Void f(void);

第二种写法会明确的告诉计算机,这里的参数是没有的,而第一种对于计算机来说则处于不知道的状态,并不代表此处没有参数。所以,如果没有参数的情况下就写void比较好,不容易出错。

本地变量
https://vilstia.pages.dev/posts/学习笔记/c/本地变量/
作者
琴泠
发布于
2023-10-12
许可协议
CC BY-NC-SA 4.0