C語言程式設計 學習筆記 結構 型別定義

2021-08-31 07:41:08 字數 1065 閱讀 3263

結構體基本

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

(r.pt1).x

(rp->pt1).x

但是沒有rp->pt1->x(因為pt1不是指標)

型別定義

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型變數,和...