結構體基本
struct structname ;//分號不要忘了
指向結構的指標:
struct date myday;
date *p = &myday;
//賦值:
(*p).month = 2;
//更簡便的方式:
p->month = 2;
用例:指標引數
struct point* getstruct(struct point *p)
int main();//相當於對返回過來的*p再賦值
}
結構中的結構
struct dateandtime;
struct point;
struct rectangle;
//如果有變數
struct rectangle r;
//就可以有:
和r.pt2.y
如果有變數定義:
struct rectangle r,*rp;
re = &r;
那麼下面的四種形式是等價的:
r.pt1.x但是沒有rp->pt1->x(因為pt1不是指標)rp->pt1.x
(r.pt1).x
(rp->pt1).x
型別定義
typeof 原型別 自定義型別名;
例:
typeof int length;//length等價於int
typeof *char[10] strings;//用strings表示有10個字串的陣列
typeof struct nodeanode;
或typedef struct node anode;//這樣用anode可以代替struct node
C語言程式設計 學習筆記 巨集定義
編譯預處理指令 開頭的是編譯預處理指令 它們不是c語言的成分,但是c語言程式離不開它們 define用來定義乙個巨集 如 define pi 3.14159這樣pi這個東西就是3.14159的值 在編譯過程中,計算機會把 中出現的pi全部換成3.14159 也可以有如下定義 define forma...
翁愷 程式設計高階C語言筆記 結構型別
結構型別 列舉 列舉是使用者定義的資料型別,用來表示依此排列的常量 常量型別只能是 int,常量大小是從0到n 列舉型別裡的名字通常不是真的使用,要使用的是大括號裡的常量名字。定義列舉的意義就是給這些常量定義一些名字 enum colors red 0.voidf enum color c int ...
C語言學習筆記 自定義型別
型別和變數有啥區別?只能對變數賦值 訪問和運算,而不能對乙個型別賦值 訪問和運算。在編譯時,對型別是不分配空間的,只對變數分配空間。如果指標p指向乙個結構體變數stu,以下3種用法等價 什麼是共用體型別?有時想用同一段記憶體單元存放不同型別的變數。例如,把乙個short型變數,乙個char型變數,和...