How to program C〈結構、Union、Bit、列舉〉

基本介紹

結構定義如下,定義結構不會佔用記憶體

他只是建立一種新的類型,就像int一樣

1
2
3
4
5
6
7
8
struct player{
char name[20];
/*
不可以包含自己,只能用指標
struct player person;
*/
struct player *personPtr;
};

宣告變數如下

1
2
3
4
5
6
struct a, b[20], *c;

或是直接和定義寫在一起
struct card{
char name[20];
} a, b[20], *c;

存取成員

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
struct member{
int old;
};

int main()
{
struct member jason;
jason.old = 27;

struct member *jasonPtr;
jasonPtr = &jason;

// 兩種用指標存取成員的方法
printf("Old = %d \n",jasonPtr->old);
printf("Old = %d \n",(*jasonPtr).old);
return 0;
}

Typedef

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
typedef struct {
int old;
}Member;

int main()
{
Member jason;
jason.old = 27;

Member *jasonPtr;
jasonPtr = &jason;

printf("Old = %d \n",jasonPtr->old);
printf("Old = %d \n",(*jasonPtr).old);
return 0;
}