列舉:
enum 列舉型別名字;
enumcolor;
void f(enumcolor c);
列舉中的套路:
enum color;
聲名列舉量的時候可以指定值
聲名結構型別時記得加 「;」
結構和陣列有點像,陣列用運算子和下標訪問其成員,a[0]=10;
p1=(struct point); 相當於 p1·x=5 ; p1·y=10;
結構用 · 運算子和名字訪問其成員,today·day
和陣列不同,結構變數的名字並不是結構變數的位址,必須使用& struct date*pdate=&today;
整個結構作為函式引數的值傳入函式
int numberofdays(struct date d)
用->表示指標所指的結構變數中的成員
若有變數定義:
struct rectangle r,*rp;
rp=&r;
那麼下面四種形式等價:
r.pt1.x rp->pt1.x (r.pt1).x (rp->pt1).x
但是沒有rp->pt1->x (因為pt1不是指標 )
型別定義:
typedef int length;
使得length 成為int 型別的別名 (第乙個是原來的型別,第二個是新的別名)
例如:typedef struct date;
聯合union anelt etl1,etl2;
全域性變數:
若函式內部存在與全域性變數同名的變數,則全域性變數被隱藏
具有全域性的生存期,全域性的作用域;
本地變數:
具有本地的生存期,本地的作用域;
靜態本地變數:
在本地變數定義時加上static修飾符就成為靜態本地變數
當函式離開時,靜態本地變數會繼續存在並保持其值,靜態本地變數只做一次初始化
靜態本地變數實際上是特殊的全域性變數,他們位於相同的記憶體區域,靜態區域性變數具有全域性的生存期,本地的作用域
不要使用全域性變數來在函式間傳遞引數和結果
盡量避免使用全域性變數
c 全域性變數 靜態全域性變數
全域性變數是靜態儲存方式,靜態全域性變數也是靜態儲存方式,這兩者在儲存方式上並無不同。區別 雖在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,靜態全域性變數在各個原始檔中都是有效的。靜態區域性變數則限制了其作用域,只在定義該變數的原始檔內有效,在同一源程式的其它原始檔中不能...
C 全域性變數
c 工程有以下幾個檔案 標頭檔案 a.h,b.h 相應的cpp檔案 a.cpp 包含a.h b.cpp 包含b.h 以及其他一些相關的.h,cpp檔案。a中有類a,b中有類b。現在需要在b.cpp中使用a.cpp 類a中的乙個變數,且希望其是隨著a.cpp 類a的呼叫更新的值。可按如下操作 在a.h...
c全域性變數
c語言中全域性變數可以重複定義 include int g val int g val 1 int main void 執行結果 1 include int g val 2 int g val int main void 執行結果 2 include int g val 2 int g val 1 ...