c++静态变量

  静态变量


一、静态变量      
  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;
}
原文地址:https://www.cnblogs.com/whzym111/p/6124567.html