struct和typedef struct徹底明白了

參看struct和typedef struct徹底明白了

typedef struct和struct的區(qū)別:

typedef struct tagMyStruct   
??????{     
????????????int iNum; 
    long lLength;
  } MyStruct;

上面的tagMyStruct是標識符,MyStruct是變量類型(相當于(int,char等))。

這語句實際上完成兩個操作:
      1) 定義一個新的結(jié)構(gòu)類型
 struct tagMyStruct  
 {      
 int iNum;     
 long lLength;  
 };
  分析:tagMyStruct稱為“tag”,即“標簽”,實際上是一個臨時名字,不論是否有typedefstruct 關(guān)鍵字和tagMyStruct一起,構(gòu)成了這個結(jié)構(gòu)類型,這個結(jié)構(gòu)都存在。
  我們可以用struct tagMyStruct varName來定義變量,但要注意,使用tagMyStruct varName來定義變量是不對的,因為struct 和tagMyStruct合在一起才能表示一個結(jié)構(gòu)類型。

2) typedef為這個新的結(jié)構(gòu)起了一個名字,叫MyStruct。
    typedef struct tagMyStruct MyStruct;
  因此,MyStruct實際上相當于struct tagMyStruct,我們可以使用MyStruct varName來定義變量。
  2.
    typedef struct tagMyStruct
 {
   ???? int iNum;
    long lLength;
 } MyStruct;

在C中,這個申明后申請結(jié)構(gòu)變量的方法有兩種:
   ?。?)struct tagMyStruct 變量名
    (2)MyStruct 變量名
    在c++中可以有
   ?。?)struct tagMyStruct 變量名
   ?。?)MyStruct 變量名
   ?。?)tagMyStruct 變量名

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)至元數(shù)據(jù)結(jié)尾創(chuàng)建: 董瀟偉,最新修改于: 十二月 23, 2016 轉(zhuǎn)至元數(shù)據(jù)起始第一章:isa和Class一....
    40c0490e5268閱讀 2,084評論 0 9
  • 分三塊來講述:1 首先://注意在C和C++里不同在C中定義一個結(jié)構(gòu)體類型要用typedef:typedef st...
    Murrey_Xiao閱讀 593評論 0 0
  • typedef是類型定義的意思。typedef struct 是為了使用這個結(jié)構(gòu)體方便。 具體區(qū)別在于: 若str...
    smile刺客閱讀 8,680評論 1 2
  • 1. [C#語言基礎(chǔ)]請簡述拆箱和裝箱。 答: 裝箱操作: 值類型隱式轉(zhuǎn)換為object類型或由此值類型實現(xiàn)的任何...
    胤醚貔貅閱讀 4,989評論 1 28
  • 請告訴我,幻想是一種什么狀態(tài),無休止的胡思亂想,是逃避,懦鶸的表現(xiàn)?生活應該勇于面對,有更多的挑戰(zhàn),才有更好的開...
    歸真返璞gzfp閱讀 136評論 0 0

友情鏈接更多精彩內(nèi)容