最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

數(shù)據(jù)結(jié)構(gòu)定義結(jié)構(gòu)體的問題 ?

數(shù)據(jù)結(jié)構(gòu)定義結(jié)構(gòu)體的問題 ?

typedef struct LNode {int num,pwd; struct LNode *next;};struct LNode *head,*p,*pt; 這一段程序的意思詳細(xì)解釋下
查看完整描述

1 回答

?
交互式愛情

TA貢獻(xiàn)1712條經(jīng)驗 獲得超3個贊

typedef struct LNode
{
int num,pwd;
struct LNode *next;
};
這段代碼是結(jié)構(gòu)體的定義部分,該結(jié)構(gòu)體被命名為LNode,它具有2個int類型的變量:num與pwd,還具有一個指針變量,指針變量next所指向的是另一個LNode結(jié)構(gòu)體。

結(jié)構(gòu)體作為一個自定義的數(shù)據(jù)類型,在創(chuàng)建成功后是僅返回所分配內(nèi)存的首地址,也就是一個指針,因此你需要使用指針變量來使其持久化。

結(jié)構(gòu)體在默認(rèn)情況下使用時,需要在結(jié)構(gòu)體名稱前添加struct關(guān)鍵字,這樣程序才能知道你是在創(chuàng)建一個結(jié)構(gòu)體的實例,你可以把結(jié)構(gòu)體理解為自定義數(shù)據(jù)類型,使用方法也類似。
比如
int i,j,k; //聲明3個變量,變量類型為int
struct LNode *i,*j,*k //聲明3個指針變量,分別指向3個結(jié)構(gòu)體,結(jié)構(gòu)體類型為LNode

如果采用你這種定義,在以后,每次想創(chuàng)建一個LNode結(jié)構(gòu)體實例時,都需要加一個struct關(guān)鍵字,這很令人反感,所以通常會利用typedef做一些改進(jìn):

typedef A B 的作用是將A與B在編程時視為相同的代碼
例如
typedef int CHINA;
那么
int i;
就等同于
CHINA i;

因此將你的代碼更改為:
typedef struct LNode //你的代碼中雖然也用到了typedef關(guān)鍵字,但是替代項為空
{ //所以你的代碼中刪掉typedef也沒有任何影響
int num,pwd;
struct LNode *next;
}N;
那最后一行代碼就可以簡化為
N *head,*p,*pt;




查看完整回答
反對 回復(fù) 2018-12-14
  • 1 回答
  • 0 關(guān)注
  • 811 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號