第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

C:結(jié)構(gòu)定義中指向結(jié)構(gòu)的指針

C:結(jié)構(gòu)定義中指向結(jié)構(gòu)的指針

C
森欄 2019-11-30 14:38:27
如何在該結(jié)構(gòu)的定義中有指向下一個結(jié)構(gòu)的指針:typedef struct A {  int a;  int b;  A*  next;} A;這是我第一次寫的方式,但是沒有用。
查看完整描述

3 回答

?
阿晨1998

TA貢獻2037條經(jīng)驗 獲得超6個贊

您可以定義typedef并在一個語句中首先聲明該結(jié)構(gòu),然后在后續(xù)定義中定義該結(jié)構(gòu)。


typedef struct A A;


struct A

{

    int a;

    int b;

    A* next;

};

編輯:正如其他人提到的那樣,沒有前向聲明,結(jié)構(gòu)名稱在結(jié)構(gòu)定義內(nèi)仍然有效(即,您可以使用struct A),但是在定義類型定義完成后,typedef才可用(因此,使用只是A無效的) )。僅使用一個指針成員,這可能并不太重要,但是,如果您具有包含許多自類型指針的復(fù)雜數(shù)據(jù)結(jié)構(gòu),則可能會有所減少。


查看完整回答
反對 回復(fù) 2019-11-30
?
HUX布斯

TA貢獻1876條經(jīng)驗 獲得超6個贊

除了第一個答案之外,如果沒有typedef和正向聲明,這也可以。


struct A 

    int a; 

    int b; 

    struct A *next; 

};


查看完整回答
反對 回復(fù) 2019-11-30
?
繁星淼淼

TA貢獻1775條經(jīng)驗 獲得超11個贊

拜托,您使用的是C語言,而不是C ++語言。


如果您真的必須typedef一個結(jié)構(gòu)體(大多數(shù)與我一起工作的程序員都不會1),請執(zhí)行以下操作:


typedef struct _A {

    int a;

    int b;

    struct _A *next;

} A;

以清楚地區(qū)分_A(在struct名稱空間中)和A(在類型名稱空間中)。


1 typedef隱藏它所指向的類型的大小和存儲量-(我同意)論點是,在像C這樣的低級語言中,試圖隱藏任何東西都是有害的且適得其反。struct A隨時隨地習(xí)慣打字struct A。


查看完整回答
反對 回復(fù) 2019-11-30
  • 3 回答
  • 0 關(guān)注
  • 662 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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