发布网友 发布时间:2022-05-26 11:52
共4个回答
热心网友 时间:2023-10-15 19:19
您对static的理解是错的。static的用处就是为了保存函数内局部变量的以前执行结果。这里的static不是指变量内的值固定不动,而是值这个局部变量的物理地址固定不动。正因为a的物理地址是固定的,所以以前执行的结果可以在以后执行时得到传递。如果没有static声明,则变量a的物理地址在每一次函数调用时都会有变化,下次调用时的a和上次调用时的a完全没有关系,您是没法得到以前执行的结果的。热心网友 时间:2023-10-15 19:20
不矛盾。你不要认为每次执行都初始化。热心网友 时间:2023-10-15 19:20
static存储在内存中的静态区而非一般的局部变量存储在内存中的栈中,栈中的数据由系统自动分配和释放,而静态区则会在程序结束以后由操作系统释放,所以它的数据不会因为函数的生命周期结束而清除!热心网友 时间:2023-10-15 19:21
首先...你的函数前面要加int void的呀...