比代码:
#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;
}
在这两种情况下,变量都会创建一次并在整个代码中使用。使用静态有什么意义?