关于声明语句和执行语句
根据我的理解,每一次调用fcode_video_test函数,都会开辟一个新栈,然后分配内存给局部变量,或者对全局静态变量进行赋值。所以每次调用这个函数就是对全局变量V进行一次赋值,调用这个函数几次就是赋值几次,难道不对吗?所以我对截图最后一句话很不理解。这一句是告诉编译器 v是静态变量,并且编译时给它一个初始值2。这一句中的赋值操作只在编译时进行,调用的时候不进行。 li913 发表于 2023-11-7 21:20
这一句是告诉编译器 v是静态变量,并且编译时给它一个初始值2。这一句中的赋值操作只在编译时进行,调用的 ...
明白了,由于不是执行语句,所以每次调用这个函数的时候不会给V赋值2.
不过,如果函数中的局部变量的声明,应该是执行的,因为局部变量要临时分配内存,等效于执行了,我的理解对不对? 局部变量,每次调用会重新分配内存。
页:
[1]