程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言小結之結構類型,c語言小結

C語言小結之結構類型,c語言小結

編輯:關於C語言

C語言小結之結構類型,c語言小結


C語言小結之結構類型

@刁鑽的游戲

(1)枚舉型類型
enum COLOR {BLACK,RED,BLUE};
//聲明一種新的數據類型,其值分別為0,1,2但是用BLACK/RED/BLUE代表
也可以這莫做
enum COLOR {RED = 1,YELLO,BLUE};//則值為1,2,3
enum的本質還是int型
應用:可以表示一列const int,用它來做符號量。

(2)結構類型
結構體類型就是一個復合數據類型,就是一個變量,下面包含著一些數據。
1>結構體聲明
方式一:聲明結構體

struct point{//創建結構體類型
	int x;
	int y;
}

struct point P1;//聲明point類型變量 P1

方式二:單純想要兩個變量,而不想聲明這種結構類型

struct{
	int x;
	int y;
}p1,p2;

方式三:同時做兩件事,一則創建結構體變臉類型,二則聲明兩個結構體變量

struct point{
	int x;
	int y;
}p1,p2;

2>結構體變量賦值

struct point p1 = {12,32};
struct point p2 = {,y=10};//為賦值的默認為0
注意:前面要跟上struct
3>結構成員的訪問和使用
使用.域操作符
p1.x = 2;
z = p1.y;
可以對整體賦值,譬如:P1 = (struct point){4,5};

4>函數中傳遞的是值不是地址,如果我們想改變本身變量,應該傳入地址
&p1
p1->x表示P1中的成員變量x


思想:函數中,傳入一個結構體,不如只穿結構體的指針,然後在函數體裡面進行使用

5>結構數組
point P1[2] = {{1,2},{2,3}};//兩個坐標P1[0] = {1,2} P2[1]={2,3}

print(point *p1)
{
	printf("x=%d,y=%d",p1->x,p1->y);
}

(3)自定義數據類型

struct創建的自定義數據類型,在聲明變量時都要跟上struct
typedef提供了數據類型別名
例如
typedef int LENGTH//表示為int起了個別名叫做LENGTH
則以後可以這樣使用
LENGH l1,l2;
所以我們可以用它來這樣做

typedef struct APOINT{
    int x;
    int y;
} POINT;

他就等效為如下圖所示

typedef <---> POINT//表示為struct 結構體類型創造了POINT變量類型
以後就可以這樣
POINT P1 ={1,2};


(4)聯合體數據類型
表示形式:union
舉例:
union POINT{
char i;
int y;
}
共用體聲明後,實質這塊內存的大小是其中包含變量最大的大小,在上述程序中應該是int大小最大,那麼他是四個字節大小
內存中排列是這樣的
i 【 】 ---- ---- ----
y 【 】【 】【 】【 】
//【】代表內存占有 ---- 內存不占有
他們共用一塊內存。
應用:可以利用共用體對長變量進行拆分,拆分成四個char或者二進制進行觀察。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved