欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: pic單片機static STATUS_VAL ai是static的什么用法? [打印本頁]

作者: w414065851    時間: 2018-8-20 16:12
標題: pic單片機static STATUS_VAL ai是static的什么用法?
用的pic單片機,ai定義為空函數

2018-08-20_160531.jpg (9.82 KB, 下載次數: 51)

2018-08-20_160531.jpg

作者: angmall    時間: 2018-8-20 22:42
static STATUS_VAL ai表示定義一個STATUS_VAL型的變量ai,其為靜態變量,只初始化一次即可。

static表示靜態的,當程序運行時這個變量就在內存中開辟地址了.當這個變量在某函數內定義時,不象自動變量那樣,當調用時就存在,退出函數時就消失。靜態局部變量始終存在著,也就是說它的生存期為整個源程序。
對基本類型的靜態局部變量若在說明時未賦以初值,則系統自動賦予0值。而對自動變量不賦初值,則其值是不定的,非靜態局部變量在函數關閉后重新打開時就會重置初始值,而靜態變量的值和函數本身的調用無關,始終存在.

作者: angmall    時間: 2018-8-20 22:55
函數定義了兩個靜態變量,1個 unsigned char 類型,1個自定義的結構體類型

typedef struct
{
        unsigned char state;
        unsigned char time_target;
        unsigned char temp;
        unsigned char i;
} STATUS_VAL;


聲明了一個名為 ai 的變量,該變量具有以下性質:
① 靜態存儲類型(在程序執行過程一直存在)
       第一次進入到 ai() 函數時,定義一個類型為 STATUS_VAL 的變量 ai,并且在跳出 ai() 函數時不丟棄該變量。
       第二次以及之后進入到 ai() 函數時不再定義變量 ai。STATUS_VAL 是定義的結構類型名,相當于 int,char,double 之類的。

② 塊作用域(從 ai() 函數的 左花括號{ 到 ai 函數的 右花括號} )
      只能在 ai() 函數的代碼塊中訪問變量 ai。







歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1