क्यों इस काम:प्रारंभ typedef struct
struct person {
char name[50];
short mental_age;
} p1 = {"Donald", 4};
लेकिन यह नहीं:
typedef struct {
char name[50];
short mental_age;
} PERSON p1 = {"Donald", 4};
वहाँ एक रास्ता है कि मैं एक typedef struct बनाने के लिए और डोनाल्ड को प्रारंभ कर सकते हैं जब मैं इस struct को परिभाषित है?
पेडेंटिक, लेकिन आप यहां क्या कर रहे हैं एक चर परिभाषित कर रहा है, इसे घोषित नहीं कर रहा है। – Ben
@ बेन, हाँ, आप सही हैं। मैं एक मूल अंग्रेजी स्पीकर नहीं हूं और ईमानदार होने के लिए, मैं इन दोनों शब्दों के बीच अंतर को शायद ही देख सकता हूं, इसलिए मैं कभी-कभी उन्हें मिश्रण कर रहा हूं। – ForceBru
@ बेन: आप गलत हैं। सी भाषा में * परिभाषा * और * घोषणा * की अवधारणा पारस्परिक रूप से अनन्य नहीं हैं। * परिभाषा * सिर्फ एक विशेष प्रकार की * घोषणा * है। तो, उसके मामले में वह * एक परिवर्तनीय 'mydata' घोषित कर रहा है। वह * वैरिएबल 'mydata' की घोषणा * एक ही समय में * परिभाषा * होती है। – AnT