सोप्या भाषेत, नवशिक्यांसाठी, सी मध्ये “घोषणा” आणि “व्याख्या” मध्ये काय फरक आहे?


उत्तर 1:

सी भाषेच्या संदर्भात घोषणापत्र म्हणजे कंपाईलरला कार्ये किंवा पद्धतींचे नाव, प्रकार आणि स्वाक्षरी सांगणे होय.

उदा:

/ * फँक्टिओम घोषित करणे * /
<डेटा टाईप> फूबार (डेटा प्रकारासह युक्तिवाद यादी);

हे आपण अर्धविरामात संपत आहे हे पाहु शकतो, आणि एक सिंगल लाइन कोड आहे जो केवळ फंक्शनचे कंपाईलर नाव, युक्तिवाद आणि रिटर्न प्रकार सांगतो.

तर, परिभाषा त्या कार्याची वास्तविक सामग्री (मुख्य भाग) परिभाषित करण्याविषयी आहे. ज्यामध्ये सर्व कोड आणि लॉजिक्स आणि सर्व समाविष्ट आहेत, जे प्रत्यक्षात काय कार्य करते याचे वर्णन करते.

उदा:

/ * परिभाषित कार्य * /
<डेटा प्रकार> फुबार (डेटा प्रकारासह युक्तिवाद यादी)
{
  / * स्थानिक चल घोषित * /
  / *
   कोडच्या ओळींमध्ये वास्तविक प्रोग्राम लॉजिक आहे
  * /
   रिटर्न <लाइन क्रमांक 2 मध्ये परिभाषित डेटाटिपसह काहीतरी;
}

सी मध्ये, घोषित केले जाणे आवश्यक आहे कारण ते कार्य वापरले गेले आहे, जेणेकरून कंपाईलर त्रुटी टाकत नाही, जिथे फंक्शन व्याख्या प्रोग्रामच्या सध्याच्या कार्यक्षेत्रात कुठेही असू शकते.

धन्यवाद


उत्तर 2:

घोषणे कंपाईलरला प्रकार, व्हेरिएबलचा आकार आणि पॅरामीटर्स, फंक्शनच्या रिटर्न प्रकाराविषयी अगोदर माहिती देते.

घोषणेदरम्यान कोणतीही मेमरी वाटप होत नाही.

उदा: इंट जे;

व्याख्या: ते व्हेरिएबल / फंक्शन काय करते, त्याचे मूल्य काय "परिभाषित करते". वास्तविक स्मृती वाटप परिभाषा नंतर होते.

उदा: j = 3;


उत्तर 3:

एक घोषणा फक्त इतकीच आहे - स्त्रोत कोडमध्ये नंतर व्याख्या शोधण्याची अपेक्षा करण्यासाठी कंपाईलरला सांगायचे आहे. हे सहसा शीर्षलेख फाईलमध्ये (. एच किंवा. एचपी विस्तार) असते आणि स्त्रोत (सी, किंवा सीपीपी विस्तार) सहसा व्याख्या असते. या घोषणेचा उद्देश असा आहे की प्रोग्रामर जो आपण फंक्शन किंवा क्लास वापरत असल्याचे घोषित करीत असलेले फंक्शन किंवा क्लास वापरत आहे त्याला परवानगी देणे आहे - त्यास व्याख्येची आवश्यकता नाही कारण कंपाईलरला प्रत्यक्षात काय करावे ते सांगणारा स्त्रोत कोड आहे फंक्शन / वर्गाने करावे परंतु घोषणा त्यांना फंक्शन कोणत्या रिटर्न, फंक्शन काय घेते याबद्दल काय सांगते आणि फंक्शनचे नाव सांगते जेणेकरून ते नंतर त्यांच्या कोडवरून फंक्शन कॉल करू शकतात. जर हे आतापर्यंत स्पष्ट झाले नसते तर परिभाषामध्ये कार्य करण्यासाठी परिभाषित करण्यासाठी स्त्रोत कोड आहे (म्हणूनच “परिभाषा” हा शब्द आहे). दोघांचेही उदाहरण येथे आहे.

// घोषणा
इंट डोसमॉमिंग (इंट एक्स, इंट वाय);

// व्याख्या
इंट डोसमिंग (इंट एक्स, इंट वाय)
{
रिटर्न (x * y);
}

उत्तर 4:

एक घोषणा फक्त इतकीच आहे - स्त्रोत कोडमध्ये नंतर व्याख्या शोधण्याची अपेक्षा करण्यासाठी कंपाईलरला सांगायचे आहे. हे सहसा शीर्षलेख फाईलमध्ये (. एच किंवा. एचपी विस्तार) असते आणि स्त्रोत (सी, किंवा सीपीपी विस्तार) सहसा व्याख्या असते. या घोषणेचा उद्देश असा आहे की प्रोग्रामर जो आपण फंक्शन किंवा क्लास वापरत असल्याचे घोषित करीत असलेले फंक्शन किंवा क्लास वापरत आहे त्याला परवानगी देणे आहे - त्यास व्याख्येची आवश्यकता नाही कारण कंपाईलरला प्रत्यक्षात काय करावे ते सांगणारा स्त्रोत कोड आहे फंक्शन / वर्गाने करावे परंतु घोषणा त्यांना फंक्शन कोणत्या रिटर्न, फंक्शन काय घेते याबद्दल काय सांगते आणि फंक्शनचे नाव सांगते जेणेकरून ते नंतर त्यांच्या कोडवरून फंक्शन कॉल करू शकतात. जर हे आतापर्यंत स्पष्ट झाले नसते तर परिभाषामध्ये कार्य करण्यासाठी परिभाषित करण्यासाठी स्त्रोत कोड आहे (म्हणूनच “परिभाषा” हा शब्द आहे). दोघांचेही उदाहरण येथे आहे.

// घोषणा
इंट डोसमॉमिंग (इंट एक्स, इंट वाय);

// व्याख्या
इंट डोसमिंग (इंट एक्स, इंट वाय)
{
रिटर्न (x * y);
}

उत्तर 5:

एक घोषणा फक्त इतकीच आहे - स्त्रोत कोडमध्ये नंतर व्याख्या शोधण्याची अपेक्षा करण्यासाठी कंपाईलरला सांगायचे आहे. हे सहसा शीर्षलेख फाईलमध्ये (. एच किंवा. एचपी विस्तार) असते आणि स्त्रोत (सी, किंवा सीपीपी विस्तार) सहसा व्याख्या असते. या घोषणेचा उद्देश असा आहे की प्रोग्रामर जो आपण फंक्शन किंवा क्लास वापरत असल्याचे घोषित करीत असलेले फंक्शन किंवा क्लास वापरत आहे त्याला परवानगी देणे आहे - त्यास व्याख्येची आवश्यकता नाही कारण कंपाईलरला प्रत्यक्षात काय करावे ते सांगणारा स्त्रोत कोड आहे फंक्शन / वर्गाने करावे परंतु घोषणा त्यांना फंक्शन कोणत्या रिटर्न, फंक्शन काय घेते याबद्दल काय सांगते आणि फंक्शनचे नाव सांगते जेणेकरून ते नंतर त्यांच्या कोडवरून फंक्शन कॉल करू शकतात. जर हे आतापर्यंत स्पष्ट झाले नसते तर परिभाषामध्ये कार्य करण्यासाठी परिभाषित करण्यासाठी स्त्रोत कोड आहे (म्हणूनच “परिभाषा” हा शब्द आहे). दोघांचेही उदाहरण येथे आहे.

// घोषणा
इंट डोसमॉमिंग (इंट एक्स, इंट वाय);

// व्याख्या
इंट डोसमिंग (इंट एक्स, इंट वाय)
{
रिटर्न (x * y);
}

उत्तर 6:

एक घोषणा फक्त इतकीच आहे - स्त्रोत कोडमध्ये नंतर व्याख्या शोधण्याची अपेक्षा करण्यासाठी कंपाईलरला सांगायचे आहे. हे सहसा शीर्षलेख फाईलमध्ये (. एच किंवा. एचपी विस्तार) असते आणि स्त्रोत (सी, किंवा सीपीपी विस्तार) सहसा व्याख्या असते. या घोषणेचा उद्देश असा आहे की प्रोग्रामर जो आपण फंक्शन किंवा क्लास वापरत असल्याचे घोषित करीत असलेले फंक्शन किंवा क्लास वापरत आहे त्याला परवानगी देणे आहे - त्यास व्याख्येची आवश्यकता नाही कारण कंपाईलरला प्रत्यक्षात काय करावे ते सांगणारा स्त्रोत कोड आहे फंक्शन / वर्गाने करावे परंतु घोषणा त्यांना फंक्शन कोणत्या रिटर्न, फंक्शन काय घेते याबद्दल काय सांगते आणि फंक्शनचे नाव सांगते जेणेकरून ते नंतर त्यांच्या कोडवरून फंक्शन कॉल करू शकतात. जर हे आतापर्यंत स्पष्ट झाले नसते तर परिभाषामध्ये कार्य करण्यासाठी परिभाषित करण्यासाठी स्त्रोत कोड आहे (म्हणूनच “परिभाषा” हा शब्द आहे). दोघांचेही उदाहरण येथे आहे.

// घोषणा
इंट डोसमॉमिंग (इंट एक्स, इंट वाय);

// व्याख्या
इंट डोसमिंग (इंट एक्स, इंट वाय)
{
रिटर्न (x * y);
}

उत्तर 7:

एक घोषणा फक्त इतकीच आहे - स्त्रोत कोडमध्ये नंतर व्याख्या शोधण्याची अपेक्षा करण्यासाठी कंपाईलरला सांगायचे आहे. हे सहसा शीर्षलेख फाईलमध्ये (. एच किंवा. एचपी विस्तार) असते आणि स्त्रोत (सी, किंवा सीपीपी विस्तार) सहसा व्याख्या असते. या घोषणेचा उद्देश असा आहे की प्रोग्रामर जो आपण फंक्शन किंवा क्लास वापरत असल्याचे घोषित करीत असलेले फंक्शन किंवा क्लास वापरत आहे त्याला परवानगी देणे आहे - त्यास व्याख्येची आवश्यकता नाही कारण कंपाईलरला प्रत्यक्षात काय करावे ते सांगणारा स्त्रोत कोड आहे फंक्शन / वर्गाने करावे परंतु घोषणा त्यांना फंक्शन कोणत्या रिटर्न, फंक्शन काय घेते याबद्दल काय सांगते आणि फंक्शनचे नाव सांगते जेणेकरून ते नंतर त्यांच्या कोडवरून फंक्शन कॉल करू शकतात. जर हे आतापर्यंत स्पष्ट झाले नसते तर परिभाषामध्ये कार्य करण्यासाठी परिभाषित करण्यासाठी स्त्रोत कोड आहे (म्हणूनच “परिभाषा” हा शब्द आहे). दोघांचेही उदाहरण येथे आहे.

// घोषणा
इंट डोसमॉमिंग (इंट एक्स, इंट वाय);

// व्याख्या
इंट डोसमिंग (इंट एक्स, इंट वाय)
{
रिटर्न (x * y);
}

उत्तर 8:

एक घोषणा फक्त इतकीच आहे - स्त्रोत कोडमध्ये नंतर व्याख्या शोधण्याची अपेक्षा करण्यासाठी कंपाईलरला सांगायचे आहे. हे सहसा शीर्षलेख फाईलमध्ये (. एच किंवा. एचपी विस्तार) असते आणि स्त्रोत (सी, किंवा सीपीपी विस्तार) सहसा व्याख्या असते. या घोषणेचा उद्देश असा आहे की प्रोग्रामर जो आपण फंक्शन किंवा क्लास वापरत असल्याचे घोषित करीत असलेले फंक्शन किंवा क्लास वापरत आहे त्याला परवानगी देणे आहे - त्यास व्याख्येची आवश्यकता नाही कारण कंपाईलरला प्रत्यक्षात काय करावे ते सांगणारा स्त्रोत कोड आहे फंक्शन / वर्गाने करावे परंतु घोषणा त्यांना फंक्शन कोणत्या रिटर्न, फंक्शन काय घेते याबद्दल काय सांगते आणि फंक्शनचे नाव सांगते जेणेकरून ते नंतर त्यांच्या कोडवरून फंक्शन कॉल करू शकतात. जर हे आतापर्यंत स्पष्ट झाले नसते तर परिभाषामध्ये कार्य करण्यासाठी परिभाषित करण्यासाठी स्त्रोत कोड आहे (म्हणूनच “परिभाषा” हा शब्द आहे). दोघांचेही उदाहरण येथे आहे.

// घोषणा
इंट डोसमॉमिंग (इंट एक्स, इंट वाय);

// व्याख्या
इंट डोसमिंग (इंट एक्स, इंट वाय)
{
रिटर्न (x * y);
}

उत्तर 9:

एक घोषणा फक्त इतकीच आहे - स्त्रोत कोडमध्ये नंतर व्याख्या शोधण्याची अपेक्षा करण्यासाठी कंपाईलरला सांगायचे आहे. हे सहसा शीर्षलेख फाईलमध्ये (. एच किंवा. एचपी विस्तार) असते आणि स्त्रोत (सी, किंवा सीपीपी विस्तार) सहसा व्याख्या असते. या घोषणेचा उद्देश असा आहे की प्रोग्रामर जो आपण फंक्शन किंवा क्लास वापरत असल्याचे घोषित करीत असलेले फंक्शन किंवा क्लास वापरत आहे त्याला परवानगी देणे आहे - त्यास व्याख्येची आवश्यकता नाही कारण कंपाईलरला प्रत्यक्षात काय करावे ते सांगणारा स्त्रोत कोड आहे फंक्शन / वर्गाने करावे परंतु घोषणा त्यांना फंक्शन कोणत्या रिटर्न, फंक्शन काय घेते याबद्दल काय सांगते आणि फंक्शनचे नाव सांगते जेणेकरून ते नंतर त्यांच्या कोडवरून फंक्शन कॉल करू शकतात. जर हे आतापर्यंत स्पष्ट झाले नसते तर परिभाषामध्ये कार्य करण्यासाठी परिभाषित करण्यासाठी स्त्रोत कोड आहे (म्हणूनच “परिभाषा” हा शब्द आहे). दोघांचेही उदाहरण येथे आहे.

// घोषणा
इंट डोसमॉमिंग (इंट एक्स, इंट वाय);

// व्याख्या
इंट डोसमिंग (इंट एक्स, इंट वाय)
{
रिटर्न (x * y);
}