typedef struct nodetype node;
typedef node *link;
struct nodetype
{
int dat;
link ptr;
};
typedef link *stack;
在上面的代碼中,我對所定義的內容有些困惑。 我明白typedef
是做什麼的,但我仍然想知道typedef node *link;
究竟是由什麼定義的?它是否定義了一個指向節點的指針?我也有同樣的問題typedef link *stack;
正由typedef聲明什麼?
「它創建了一個指向節點的指針,還是創建了一個指向節點的結構指針」 - 這個「結構指針」概念是什麼,它與常規指針有什麼不同?通常,當人們說「結構指針」時,它們只是指向指向類型是結構類型的指針,所以「指向結點的指針」和「指向結點的結構指針」之間的唯一區別是有點術語冗餘。 – user2357112 2014-09-02 02:14:55
這聽起來像你不太瞭解'typedef'。這爲現有類型提供了一個新名稱,語法與聲明變量相同;除了在關鍵字「typedef」中添加意味着該標識符是該類型的別名,而不是該類型的變量。 – 2014-09-02 02:16:19
我問這個問題不對。我想我應該花更多的時間考慮要問什麼,那是我的錯。不過我明白現在正在發生的事情。謝謝 – PattyB 2014-09-02 02:33:12