struct namenote
;
起別名即為使用typedef:
typedef
struct namenote
namenote;
(1).struct+結構體名+變數名 = {};
(2).結構體別名+變數名 = {};
struct namenote c=
;namenote python =
;
類似於python中的字典型別,不過是需要提前申明key值的字典,結構體的初始化相當於給字典的key值賦上value值,因此可對其中每乙個屬性進行改值操作。
c.id =
111;
c.tel_num =
"110"
;
namenote *p_c =
&c;namenote *p_python =
&python;
通過指標修改結構體的屬性:
//「笨」方法
(*p_c)
.id =
111;
(*p_c)
.name =
"c_c++"
;//結構體指標專有方法
p_c->id =
222;
p_c->name =
"c++"
;
對於乙個結構體來說,其中具有各種各樣的基本資料型別,那麼該如何判斷乙個結構體型別所佔空間的大小呢?
首先找出該結構體中所佔空間最大的基本資料型別,按每行都具有該基本資料型別所空間大小順序填充,每行不超過最大型別所佔的空間。
比如1中所宣告的結構體,其中佔空間最大(32位)的是int,char *,都為4個位元組,因此該結構體的大小為16位元組。
檢視結構體型別所佔空間可以使用關鍵字sizeof。
例1.struct aa struct bb
; };
32位系統下。
解:aa中所佔空間最大的基本資料型別是double,為8個位元組,第三行的char c佔乙個位元組,char *d佔四個位元組,第三行共有8個位元組,可以裝下c和d,故aa的大小為24位元組;bb中所佔空間最大的基本資料型別是int和char *,且都為4個位元組,故bb佔16位元組空間。
例2:struct cc
;
解:由於int b[5]不是基本資料型別,故最大為int,佔4個位元組,int b[5]共佔20個位元組,char c佔4個位元組,一共28位元組。
經過上面兩個例題可以說明為什麼第六點著重強調基本資料型別。
C語言學習
c語言學習 2013 3 26 1 編寫strcat s,t 函式,功能 將t指向的字串複製到s指向的字串的尾部。程式設計思路 1 通過while迴圈找到字串s的結束符。2 從找到的結束符開始將t複製到s,同時移動二者的指標。2 編寫函式strend s,t 如果字串t出現在字串s的尾部,該函式返回...
c語言學習
今天總結一些c 語言方面的知識 變數的概念 其值在作用域內可以改變的量稱為變數。乙個變數應該有乙個名字,並在記憶體中佔據一定儲存空間。區域性變數和全域性變數 區域性變數是在函式內作定義說明的,其作用域僅限函式內,離開該函式再使用這種變數是非法的。全域性變數也稱為外部變數,是在函式外部定義的變數,它不...
c語言學習
計算機工作基本原理 現代計算機可分為幾個部件 cpu 處理單元 擔負著絕大部分的計算工作。ram 隨機訪問儲存器 作為乙個工作區來儲存程式和檔案。硬碟 永久儲存器 即使在計算機關機時也能記下程式和檔案。以及各種外圍裝置 如鍵盤,滑鼠和監視器 用來提供人與計算器之間的通訊。cpu工作過程 從記憶體中獲...