- 鐵幣
- 3003 元
- 文章
- 1434 篇
- 聲望
- 735 枚
- 上次登入
- 10-3-28
- 精華
- 0
- 註冊時間
- 06-9-29
- UID
- 314768
|
原文由傲月光希 於 07-7-14 03:49 PM 發表
我想問的並不是typedef的用法
我想知道先把一個結構或型態定成 *識別字在宣告變數
跟直接宣告一個指標有啥不同
沒什麼不同,難道你喜歡把程式寫長一點?
每次遇到節構便寫這麼長
- struct NODE{
- int x;
- struct NODE * next;
- };
- struct NODE * node;
- /////////////////////////////////////////////
- typedef struct _node{
- int x;
- struct _node * next;
- }NODE;
- NODE * node;
- /////////////////////////////////////////////
- typedef struct _node{
- int x;
- struct _node * next;
- }NODE;
- typedef NODE * pNODE;
- pNODE node;
複製代碼
其實這在於個人撰寫的喜好,上面三種方式都是一樣的意思,並無不同
而且照你說的問題的確是有一個不同
如果直接宣告的話,當你宣告兩變數的指標
- int *a,b; //b並不會是 int *
- int * a, *b; //才正確
- 如果你使用了
- typedef int * pINT;
- pINT a,b; //這樣a,b都是pINT(int *) 你看這樣的差異有何不同
複製代碼
這一個就不知道是否是你想要的不同
[ 本文最後由 turnX 於 07-7-14 08:42 PM 編輯 ] |
|