Re: [問題] struct

看板C_and_CPP (C/C++)作者 (冷羽翼塵)時間14年前 (2012/04/22 22:51), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/4 (看更多)
※ 引述《aznchat100 (KG is MVP)》之銘言: : 問題(Question): : 1. : type struct node{ : ..........}NODE; : 2. : typedef struct node NODE{ : .......}; : 我今天在圖書館翻片了大大小小本的C語言書 : 還是找不到我要的解答 : 想請問這邊的高手 這兩個寫法差在哪裡? : 感謝!! 假設一開始的敘述如下: typedef struct [A] {...} [B0], [B1], [B2]..; 那這就相當於: struct [A] {...}; typedef struct [A] [B0]; typedef struct [A] [B1]; typedef struct [A] [B2]; ... 接著就是一般的typedef用的替換方式,直接用例子示範: 假設有二個敘述: 1. typedef [...1] [tn] [...2]; // [tn]為typedef定義出的型別名稱。 2. [tn] [var]; // [var]是由型別[tn]定義出的變數名稱。 現在開始假設我是台編譯器遇到了2敘述,馬上就依據1敘述改寫成如下: // 拆了typedef然後把[tn]改成[var] [...1] [var] [...2]; 有個以上的方法後,馬上看到改寫原Po問題後的例子: #include <stdio.h> typedef struct A{ // ...(省略) } B, *C; int main() { struct A var1; B var2; C var3; return 0; } 第一次更動後: #include <stdio.h> struct A{ // ...(省略) }; typedef struct A B; typedef struct B *C; int main() { struct A var1; B var2; C var3; return 0; } 第二次更動後: #include <stdio.h> struct A{ // ...(省略) }; int main() { struct A var1; struct A var2; struct A *var3; return 0; } 這樣~ 希望原Po能夠明白。 以上學習來自板上的某些人! PS: 其實我是忘記有哪些人的關係 (臉紅^^" 就這樣! 報告結束! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.164.76.243

04/24 00:16, , 1F
感謝^^
04/24 00:16, 1F
文章代碼(AID): #1Fb1i9_v (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
3
8
完整討論串 (本文為第 3 之 4 篇):
2
12
1
1
2
6
3
8
文章代碼(AID): #1Fb1i9_v (C_and_CPP)