一、概念
/*
應用場景 :
當某個方法的調(diào)用頻率非常高,而該方法中有些變量的值 是固定不變的
那么這個時候 就可以使用 static來修飾該變量,讓該變量 只開辟一次存儲空間
這樣可以提高程序的效率 和 性能
*/
二、代碼
#include <stdio.h>
void test()
{
int a = 0; // 局部變量
// 當使用 static 來修飾局部變量,那么會延長局部變量的生命周期,并且會 改變局部變量 存儲的位置, 將局部變量 從棧轉(zhuǎn)移到靜態(tài)區(qū)中
// 只要 使用 static修飾局部變量之后, 當執(zhí)行到 定義局部變量的代碼 就會分配存儲空間,但是只有程序結(jié)束才會釋放該存儲空間
static int b = 0;
a++; // 1 1
b++; // 1 2
printf("a = %i\n",a);
printf("b = %i\n",b);
printf("---\n");
}
void demo(int r)
{
static double pi = 3.1415926; // 固定
double res = pi * r * r;
printf("res = %lf\n",res);
}
int main()
{
test();
test();
for (int i = 0; i < 100; i++) {
demo(i);
}
return 0;
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。