宣告struct時可以在右花括號跟乙個變數表,
struct x,y,z;
如果結構宣告不帶變數表,則不需要給他分配空間
struct key
keytab=
struct point
`struct point *pp;
等價表達:
(*pp).x ~ pp ->x
*pp.x ~ *(pp.x)
++pp->x ~ ++(pp->x)
*p->str 讀取的是指標str所指物件的值
*p->str++ 先讀取str所指物件的值,再將str加1(與 *str++相同)
(*p->str)++ 給str所指物件的值加1
*p++ ->str 先讀取指標str指向物件的值,再給p加1
原因:運算子優先順序
①.-> 結合方向:從左到右
②++ * 結合方向: ++為字首時,從右到左;++為字尾時,從左向右
typedef int length;
將length定義為與int具有同等意義的型別名字。
型別length可用於型別宣告、型別轉換等,它的用法和型別int完全相同。但typedef並沒有創造乙個新的型別,只是給某個乙個已存在的型別增加乙個新的名稱而已。
length len,maxlen;
length *lengths;
typedef類似#define,但由於typedef是由編譯器解釋的,因此他的文字替換功能要超過預處理器的能力,例如:
typedef int (*pfi)(char *,char *);
該語句定義了型別pfi是「乙個指向函式的指標,並且該函式具有兩個char *型別的引數,返回值型別為int」。
除了表達方式更簡潔外,typedef還可以使程式引數化,以提高程式的可以移植性。如果typedef定義的資料型別和機器有關,那麼,當程式移植到其他程式時。只需改變typedef型別定義就可以了。
TCPL讀書筆記 1
工作以後,雖然現在做的不是c 方面的工作,但是憑著自己對c 的喜愛,還是決定再看看這本書,書還是我宿舍那哥們的,不過我買下來了,呵呵。第一次寫,不知道寫什麼好,我就我看這本書以後的對細節的認識列舉一下,以供以後參考。首先是指標和引用的問題,經常在網上看到關於這個問題的討論。書中有句話 引用可以理解成...
TC PL讀書筆記1
tc pl讀書筆記1 第2章 c 概覽 1 什麼是c 更好的c 支援資料抽象 支援物件導向 支援通用型程式設計 泛型?2 程式設計范型 技術只是相對而言的,不同語言支援不同風格的程式設計,只是說它在實現此風格時會比較方便,不支援這些風格的程式設計會要付出更大的努力。c一樣可以寫出物件導向的程式,只是...
TCPL第二章學習筆記
第二章我就隨便看了一看,覺得沒第一章難。第一張的刪除注釋之類的程式 練習中的 還是有點難度的。先說說 某變數 和 某變數 我設這個變數為n,n是先加後引用,而n 是先引用後加 先看下面 include int main void 這段 就能很好的說明 n和n 的些許區別 第二章中有乙個函式我覺得很經...