C語言學習 18 10 23

2021-08-29 23:49:52 字數 1560 閱讀 7098

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工作過程 從記憶體中獲...