標籤:style http ar color sp on 問題 bs ef
c語言中結構體的定義:
struct 結構體名{
成員列表;
.....
}結構體變數;
7.1.1 結構體類型變數的定義
結構體類型變數的定義與其它類型的變數的定義是一樣的,但由於結構體類型需要針對問題事先自行定義,所以結構體類型變數的定義形式就增加了靈活性,共計有三種形式,分別介紹如下:
1) 先定義結構體類型,再定義結構體類型變數:
struct stu / *定義學生結構體類型* /
{
char name[20]; / * 學生姓名* /
char sex; / * 性別* /
long num; / *學號* /
float score[3]; / * 三科考試成績* /
};
struct stu student1,student2;/ * 定義結構體類型變數* /
struct stu student3,student4;
用此結構體類型,可以定義更多的該結構體類型變數。
2 ) 定義結構體類型同時定義結構體類型變數:
struct data
{
int day;
int month;
int year;
} time1,time2;
也可以再定義如下變數:
struct data time3,time4;
用此結構體類型,同樣可以定義更多的該結構體類型變數。
3) 直接定義結構體類型變數:
struct
{
char name[20]; / *學生姓名* /
char sex; / *性別* /
long num; / *學號* /
float score[3]; / *三科考試成績* /
} person1,person2; / *定義該結構體類型變數* /
該定義方法由於無法記錄該結構體類型,所以除直接定義外,不能再定義該結構體類型變數
C++
typedef struct Node{
int data;
struct LNode *next;
}LNode,*LinkLIst;
在c裡,如果要定義一個Node,需要用struct Node來定義 這是c++,直接用Node來定義就可以 後面的LNode是Node的別名,c++中跟Node效果一樣,聲明對象時可以用Node node和LNode node 。
LinkList表示Node *,指Node的指標聲明,LinkList list和Node *list效果一樣 如果不加typedef,表示的是分別聲明Node LNode和Node *LinkList,聲明一個對象,一個指標
C /C ++中結構體的定義