में घोषणा नियम 'मैं सी प्रोग्रामिंग भाषा' पढ़ रहा हूं और संरचना के टाइपपीफ के बारे में एक समस्या का सामना करना पड़ा। कोड इस तरह है:स्ट्रक्चर टाइपपीफ
typedef struct tnode *Treeptr;
typedef struct tnode { /* the tree node: */
char *word; /* points to the text */
int count; /* number of occurrences */
struct tnode *left; /* left child */
struct tnode *right; /* right child */
} Treenode;
समय हम लिख
typedef struct tnode *Treeptr;
tnode अभी भी अभी तक घोषित नहीं किया गया है, लेकिन हम किसी भी संकलन त्रुटि, नहीं मिलता है लेकिन जब हम बयान से ऊपर बदल में:
error: parse error before '*' token
warning: data definition has no type or storage class
:
typedef Treenode *Treeptr;
हम संकलन त्रुटि मिलती है
क्या अंतर का कारण बनता है? "टर्नोड" के समान "संरचना tnode" नहीं है?
आपको मिल सकता है [सी मानक का कौन सा हिस्सा इस कोड को संकलित करने की अनुमति देता है?] (Http://stackoverflow.com/questions/12200096/which-part-of-the-c- मानक-allows-this-code -टू-संकलन) और [क्या सी मानक मानता है कि इस शीर्षलेख में एक या दो 'संरचना अपरिवर्तनीय' प्रकार हैं?] (http://stackoverflow.com/questions/11697705/does-the-c- मानक- कॉन्सेडर - एक-या-दो-स्ट्रक्चर-अपरम्स-एंट्री-टाइप) प्रासंगिक के रूप में हैं, लेकिन उन्हें उस स्तर पर लगाया जा सकता है जहां आप हैं। –