静态变量 一、静态变量 static关键字 static int i; 二、静态变量的运用 1、计算函数被调用次数 2、返回指针 第45课中有这么一段 int* square3(int *x) { int a=*x * *x; return &a; //危险 用自动变量 } #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> void test() { static int i=1;//只有第一次会赋初值 printf("%d ",i++); } int* square3(int *x) { static int a=0; a=*x * *x; return &a; //是静态变量无危险 } main(void) { //test(); //test(); //test(); int a=3; int *pa=square3(&a); test(); printf("%d ", *pa); getchar(); getchar(); return 0; }