比代码:
#include <stdio.h>
void counter() {
static int count = 0;
printf("%d ", count++);
}
int main()
{
for (int i = 0; i < 10; i++) {
counter();
}
return 0;
}
与代码不同:
#include <stdio.h>
int count = 0;
void counter() {
printf("%d ", count++);
}
int main()
{
for (int i = 0; i < 10; i++) {
counter();
}
return 0;
}
在这两种情况下,变量都会创建一次并在整个代码中使用。使用静态有什么意义?
主要的一点是,全局变量像 Plyushchikha 上的白杨一样突出:),并且每个人都可以访问,这不好。例如,它可能会被另一个函数纯粹意外(无意)更改。
静态变量仅在函数中可见。无论是攻击者还是好心人都无法接近她......