当前位置:首页 » 编程语言 » c语言的static赋值为0
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言的static赋值为0

发布时间: 2022-12-31 15:57:38

1. c语言中static变量的赋值问题

static int a = 0; // 运行期时初始化一次, 下次再调用时, 不进行初始化工作如下:

printf(“%d”,a);

a++;

}

int main()

{

staticLocalVar(); // 第一次调用, 输出a=0

staticLocalVar(); // 第二次调用, 记忆了第一次退出时的值, 输出a=1

return 0;

}

(1)c语言的static赋值为0扩展阅读

1、static对全局变量的修饰,可以认为是限制了只能是本文件引用此变量。有的程序是由好多.c文件构成。彼此可以互相引用变量,但加入static修饰之后,只能被本文件中函数引用此变量。

2、static对栈变量的修饰,可以认为栈变量的生命周期延长到程序执行结束时。一般来说,栈变量的生命周期由OS管理,在退栈的过程中,栈变量的生命也就结束。

3、但加入static修饰之后,变量已经不再存储在栈中,而是和全局变量一起存储。同时,离开定义它的函数后不能使用,但如再次调用定义它的函数时,它又可继续使用, 而且保存了前次被调用后留下的值。

2. c语言static用法

static是静态变量,程序运行时,它的值不会被重新初始化,对于这题来说,没必要把k设成静态的,一般的变量也能计算出来,因为中间没有重新初始化的操作

3. c语言中 static uint8 ucState=0是什么意思

static uint8 ucState=0
static是静态变量申明字,所以首先变量ucState是一个静态变量,初始值为0;
uint8在C语言中是没有这个语句的,所以这之前可能有以下一个申明来定义该宏:
#define uint8 unsigned char
这样的话,全句的意思是:;申明变量ucState为静态8位字节变量,初值为0,一般用于单片机的C51语言中。通用C语言中是没有这个变量类型的。

4. 为什么在C语言中静态变量的初值是0

静态变量的声明点似乎相当于全局变量,按照全局变量的初始化规则来初始化为0