結構體的宣告
//結構是一些值的集合,這些值稱為成員變數。結構的每個成員可以是不同型別的變數。
//結構體的宣告,語法如下:
struct tag
variable-list;
//例如描述乙個學生:
typedef struct stu
stu;
//結構體的成員型別可以是標量、陣列、指標,甚至是其他結構體。
結構體變數的定義和初始化
struct point
p1;//宣告型別的同時定義變數p1
struct point p2;
//定義結構體變數p2
//初始化:定義變數的同時賦初值
struct point p3 =
;struct stu //型別宣告
;struct stu s =
;//初始化
struct node
n1 =
,null}
;//結構體巢狀初始化
struct node n2 =
,null}
;//結構體巢狀初始化
結構體成員的訪問
//結構體變數訪問成員是通過點操作符(.)訪問的,點操作符接受兩個運算元。例如:
struct stu
;struct stu s;
strcpy
(s.name,
"zhangsan");
//使用.訪問name成員
s.age =20;
//使用.訪問age成員
//結構體指標訪問指向變數的成員,有時候得到的不是乙個結構體變數,而是指向乙個結構體指標,則需通過->訪問:
void
print
(struct stu* ps)
intmain()
;print
(&s)
;//結構體位址傳參
return0;
}//函式傳參的時候,引數是需要壓棧d,如果傳遞乙個結構體物件的時候,結構體過大,引數壓棧的系統開銷比較大,所以會導致效能的下降。因此,結構體傳參的時候,要傳結構體的位址。
精通學習C語言 操作符 2
表示式求值 表示式求值的順序一部分是由操作符的優先順序和結合性決定,同樣,有些表示式的運算元在求值的過程中可能需要轉換為其他型別。c的整形算術運算總是至少以預設整形型別的精度來進行的,為了獲得這個精度,表示式中的字元和短整型運算元在使用之前被轉換為普通整形,這種轉換稱為整形提公升。整形提公升的意義 ...
C語言 結構體從入門到精通
最近老師在講解資料結構的內容,當老師講資料結構的 時,經常用到結構體這個東西,趁機複習下結構體的內容。結構體的定義 把一些基本型別的資料組合在一起而形成的乙個新的複合型的資料型別,這個就叫做結構體。為什麼需要結構體 為了表示一些複雜的事物,而基本的資料型別無法滿足相應的請求。結構體的一般形式 申明乙...
《C語言從入門到精通》學習筆記001 C語言概述
1.機器語言 由 0 和 1 組成的二進位制數組成的指令序列,是第一代計算機語言 2.組合語言 用一些簡潔的字母 符號串來代替乙個特定指令的二進位制串 3.高階語言 c c 等 1972年美國人dennis ritchie設計 1983年美國國家標準學會指定ansi c 1.程式可讀性強,編譯效率高...