2009-11-28 25 views
5

क्या यह उस प्रकार की संरचना के लिए एक सूचक के साथ संरचना को परिभाषित करने के लिए सकारात्मक है? मेरा मतलब है:सी संरचना के साथ सूचक

typedef struct { 
    char* name; 
    node* parent; 
} node; 

जहां तक ​​मैंने कोशिश की या पढ़ा, मुझे नहीं पता कि यह कैसे करना है या यदि यह भी संभव है।

+1

संभावित डुप्लिकेट: http://stackoverflow.com/questions/506366/ http://stackoverflow.com/questions/588623/ –

उत्तर

20

हां, लेकिन आपको संरचना का नाम देना होगा, ताकि आप इसका उल्लेख कर सकें।

typedef struct node_ { 
    char* name; 
    struct node_ * parent; 
} node; 

नाम के बाद संरचना पूरी तरह परिभाषित किया गया है node केवल घोषित हो जाता है।

+0

धन्यवाद एक बहुत ! यह * विवरण * मुझे नहीं पता था! :) – shazarre

0

हाँ यह संभव है।

यह लिंक लिंक्स सूचियां बनाई गई हैं!

-2

आप इसे क्यों नहीं देखते? आपको संरचना में नाम देना होगा, और हां, यह रिकर्सिव डेटा संरचनाओं में यह तरीका है।

+0

ओपी ने कहा कि उसने पहले ही कोशिश की है। – Grandpa

+0

लेकिन, जैसा कि मैंने लिखा, मैंने आईडी की कोशिश की - काम नहीं किया, इसलिए मैंने यहां पूछा :) – shazarre

1

मैं सहमत हूं ... और पेड़। आपको इसे "अंडे और चिकन" की तरह देखने की ज़रूरत नहीं है क्योंकि एक प्रकार को परिभाषित करने से पहले हमेशा एक होता है। तो जब आप अपने सिर में दो मिश्रण करना शुरू करते हैं तो उसी प्रकार के ऑब्जेक्ट का सदस्य चर होना मुश्किल होता है!

16

आप typedef में एक incomplete type उपयोग कर सकते हैं:

typedef struct node node; 

struct node { 
    char *name; 
    node *parent; 
}; 
संबंधित मुद्दे