সহজ কথায়, নবীনদের জন্য, সি-তে "ঘোষণা" এবং "সংজ্ঞা" এর মধ্যে পার্থক্য কী?


উত্তর 1:

সি ভাষার প্রসঙ্গে, ঘোষণাটি সংকলককে ফাংশন বা পদ্ধতির নাম, প্রকার এবং স্বাক্ষর বলতে বোঝায়।

উদাহরণ:

/ * ফান্টিয়াম ঘোষণা করে * /
<ডেটা টাইপ> ফুবার (ডেটা টাইপ সহ আর্গুমেন্ট তালিকা);

আমরা দেখতে পাচ্ছি যে এটিটি একটি সেমিকোলন দিয়ে শেষ হয় এবং এটি একটি একক লাইন কোড যা কেবল সংকলকটির নাম, যুক্তি এবং ফাংশনের রিটার্নের ধরণকে বলে।

অন্যদিকে, সংজ্ঞাটি সেই ফাংশনের আসল সামগ্রী (দেহ) সংজ্ঞায়িত করার বিষয়ে। যার মধ্যে সমস্ত কোড এবং লজিক এবং সমস্ত রয়েছে, যা কার্যকরীভাবে কী করে তা বর্ণনা করে।

উদাহরণ:

/ * সংজ্ঞায়িত ফাংশন * /
<ডেটা টাইপ> ফুবার (ডেটা টাইপের সাথে আর্গুমেন্টের তালিকা)
{
  / * স্থানীয় পরিবর্তনশীল ঘোষণা * /
  / *
   প্রকৃত প্রোগ্রাম যুক্তিযুক্ত কোডের রেখাগুলি
  * /
   <লাইন নং 2-তে সংজ্ঞায়িত ডেটাটাইপের সাথে কিছু ফেরত দিন;
}

সি-তে, এই ফাংশনটি ব্যবহারের জন্য ঘোষণাপত্রটি করা দরকার, যাতে কম্পাইলার কোনও ত্রুটি ছুঁড়ে না ফেলে, যেখানে ফাংশন সংজ্ঞা প্রোগ্রামের বর্তমান ক্ষেত্রের যে কোনও জায়গায় হতে পারে।

ধন্যবাদ


উত্তর 2:

একটি ঘোষণাপত্রটি টাইপ, ভেরিয়েবলের আকার এবং পরামিতিগুলি সম্পর্কে ফাংশনের রিটার্ন টাইপের আগেই সংকলককে অবহিত করে।

ঘোষণার সময় কোনও মেমরি বরাদ্দ হয় না।

উদা: int j;

সংজ্ঞা: এটি "সংজ্ঞায়িত করে" যে পরিবর্তনশীল / ফাংশনটি কী করে, কোন মানটি গ্রহণ করবে। প্রকৃত মেমরি বরাদ্দ সংজ্ঞা পরে ঘটে।

উদাঃ j = 3;


উত্তর 3:

একটি ঘোষণাপত্রটি ঠিক - এটি সংস্থাপককে উত্স কোডের পরে সংজ্ঞাটি খুঁজে পাওয়ার আশা করতে বলে to এটি সাধারণত একটি শিরোনাম ফাইলে থাকে (.h বা .hpp এক্সটেনশান) এবং উত্সটির (সি, বা সিপিপি এক্সটেনশন) সাধারণত সংজ্ঞা থাকে। ঘোষণার উদ্দেশ্য হ'ল এমন একটি প্রোগ্রামারকে অনুমতি দেওয়া যা আপনি যে ফাংশন বা ক্লাসটি ব্যবহার করছেন যা আপনি ফাংশন বা শ্রেণি ব্যবহার করতে সক্ষম হবেন - তাদের সংজ্ঞাটির প্রয়োজন নেই কারণ সংস্থাপককে আসলে কী করতে হবে তা বলার উত্স কোড হিসাবে ফাংশন / শ্রেণিটি করা উচিত তবে ঘোষণাপত্রটি তাদের জানায় যে ফাংশনটি কী ফিরিয়ে দেয়, ফাংশনটি কী যুক্তি দেয় এবং ফাংশনের নাম যাতে তারা পরে তাদের কোড থেকে ফাংশনটি কল করতে পারে। যদি এটি এতক্ষণ পরিষ্কার না হয় তবে সংজ্ঞাটির কার্যকারিতা সংজ্ঞায়নের জন্য সোর্স কোড রয়েছে (সুতরাং "সংজ্ঞা" শব্দটি ব্যবহার করা হয়েছে)। উভয়ের উদাহরণ এখানে:

// ঘোষণা
int doSomething (int x, int y);

// সংজ্ঞা
ইন ডোসোমথিং (ইনট এক্স, ইনট y)
{
রিটার্ন (x * y);
}

উত্তর 4:

একটি ঘোষণাপত্রটি ঠিক - এটি সংস্থাপককে উত্স কোডের পরে সংজ্ঞাটি খুঁজে পাওয়ার আশা করতে বলে to এটি সাধারণত একটি শিরোনাম ফাইলে থাকে (.h বা .hpp এক্সটেনশান) এবং উত্সটির (সি, বা সিপিপি এক্সটেনশন) সাধারণত সংজ্ঞা থাকে। ঘোষণার উদ্দেশ্য হ'ল এমন একটি প্রোগ্রামারকে অনুমতি দেওয়া যা আপনি যে ফাংশন বা ক্লাসটি ব্যবহার করছেন যা আপনি ফাংশন বা শ্রেণি ব্যবহার করতে সক্ষম হবেন - তাদের সংজ্ঞাটির প্রয়োজন নেই কারণ সংস্থাপককে আসলে কী করতে হবে তা বলার উত্স কোড হিসাবে ফাংশন / শ্রেণিটি করা উচিত তবে ঘোষণাপত্রটি তাদের জানায় যে ফাংশনটি কী ফিরিয়ে দেয়, ফাংশনটি কী যুক্তি দেয় এবং ফাংশনের নাম যাতে তারা পরে তাদের কোড থেকে ফাংশনটি কল করতে পারে। যদি এটি এতক্ষণ পরিষ্কার না হয় তবে সংজ্ঞাটির কার্যকারিতা সংজ্ঞায়নের জন্য সোর্স কোড রয়েছে (সুতরাং "সংজ্ঞা" শব্দটি ব্যবহার করা হয়েছে)। উভয়ের উদাহরণ এখানে:

// ঘোষণা
int doSomething (int x, int y);

// সংজ্ঞা
ইন ডোসোমথিং (ইনট এক্স, ইনট y)
{
রিটার্ন (x * y);
}

উত্তর 5:

একটি ঘোষণাপত্রটি ঠিক - এটি সংস্থাপককে উত্স কোডের পরে সংজ্ঞাটি খুঁজে পাওয়ার আশা করতে বলে to এটি সাধারণত একটি শিরোনাম ফাইলে থাকে (.h বা .hpp এক্সটেনশান) এবং উত্সটির (সি, বা সিপিপি এক্সটেনশন) সাধারণত সংজ্ঞা থাকে। ঘোষণার উদ্দেশ্য হ'ল এমন একটি প্রোগ্রামারকে অনুমতি দেওয়া যা আপনি যে ফাংশন বা ক্লাসটি ব্যবহার করছেন যা আপনি ফাংশন বা শ্রেণি ব্যবহার করতে সক্ষম হবেন - তাদের সংজ্ঞাটির প্রয়োজন নেই কারণ সংস্থাপককে আসলে কী করতে হবে তা বলার উত্স কোড হিসাবে ফাংশন / শ্রেণিটি করা উচিত তবে ঘোষণাপত্রটি তাদের জানায় যে ফাংশনটি কী ফিরিয়ে দেয়, ফাংশনটি কী যুক্তি দেয় এবং ফাংশনের নাম যাতে তারা পরে তাদের কোড থেকে ফাংশনটি কল করতে পারে। যদি এটি এতক্ষণ পরিষ্কার না হয় তবে সংজ্ঞাটির কার্যকারিতা সংজ্ঞায়নের জন্য সোর্স কোড রয়েছে (সুতরাং "সংজ্ঞা" শব্দটি ব্যবহার করা হয়েছে)। উভয়ের উদাহরণ এখানে:

// ঘোষণা
int doSomething (int x, int y);

// সংজ্ঞা
ইন ডোসোমথিং (ইনট এক্স, ইনট y)
{
রিটার্ন (x * y);
}

উত্তর 6:

একটি ঘোষণাপত্রটি ঠিক - এটি সংস্থাপককে উত্স কোডের পরে সংজ্ঞাটি খুঁজে পাওয়ার আশা করতে বলে to এটি সাধারণত একটি শিরোনাম ফাইলে থাকে (.h বা .hpp এক্সটেনশান) এবং উত্সটির (সি, বা সিপিপি এক্সটেনশন) সাধারণত সংজ্ঞা থাকে। ঘোষণার উদ্দেশ্য হ'ল এমন একটি প্রোগ্রামারকে অনুমতি দেওয়া যা আপনি যে ফাংশন বা ক্লাসটি ব্যবহার করছেন যা আপনি ফাংশন বা শ্রেণি ব্যবহার করতে সক্ষম হবেন - তাদের সংজ্ঞাটির প্রয়োজন নেই কারণ সংস্থাপককে আসলে কী করতে হবে তা বলার উত্স কোড হিসাবে ফাংশন / শ্রেণিটি করা উচিত তবে ঘোষণাপত্রটি তাদের জানায় যে ফাংশনটি কী ফিরিয়ে দেয়, ফাংশনটি কী যুক্তি দেয় এবং ফাংশনের নাম যাতে তারা পরে তাদের কোড থেকে ফাংশনটি কল করতে পারে। যদি এটি এতক্ষণ পরিষ্কার না হয় তবে সংজ্ঞাটির কার্যকারিতা সংজ্ঞায়নের জন্য সোর্স কোড রয়েছে (সুতরাং "সংজ্ঞা" শব্দটি ব্যবহার করা হয়েছে)। উভয়ের উদাহরণ এখানে:

// ঘোষণা
int doSomething (int x, int y);

// সংজ্ঞা
ইন ডোসোমথিং (ইনট এক্স, ইনট y)
{
রিটার্ন (x * y);
}

উত্তর 7:

একটি ঘোষণাপত্রটি ঠিক - এটি সংস্থাপককে উত্স কোডের পরে সংজ্ঞাটি খুঁজে পাওয়ার আশা করতে বলে to এটি সাধারণত একটি শিরোনাম ফাইলে থাকে (.h বা .hpp এক্সটেনশান) এবং উত্সটির (সি, বা সিপিপি এক্সটেনশন) সাধারণত সংজ্ঞা থাকে। ঘোষণার উদ্দেশ্য হ'ল এমন একটি প্রোগ্রামারকে অনুমতি দেওয়া যা আপনি যে ফাংশন বা ক্লাসটি ব্যবহার করছেন যা আপনি ফাংশন বা শ্রেণি ব্যবহার করতে সক্ষম হবেন - তাদের সংজ্ঞাটির প্রয়োজন নেই কারণ সংস্থাপককে আসলে কী করতে হবে তা বলার উত্স কোড হিসাবে ফাংশন / শ্রেণিটি করা উচিত তবে ঘোষণাপত্রটি তাদের জানায় যে ফাংশনটি কী ফিরিয়ে দেয়, ফাংশনটি কী যুক্তি দেয় এবং ফাংশনের নাম যাতে তারা পরে তাদের কোড থেকে ফাংশনটি কল করতে পারে। যদি এটি এতক্ষণ পরিষ্কার না হয় তবে সংজ্ঞাটির কার্যকারিতা সংজ্ঞায়নের জন্য সোর্স কোড রয়েছে (সুতরাং "সংজ্ঞা" শব্দটি ব্যবহার করা হয়েছে)। উভয়ের উদাহরণ এখানে:

// ঘোষণা
int doSomething (int x, int y);

// সংজ্ঞা
ইন ডোসোমথিং (ইনট এক্স, ইনট y)
{
রিটার্ন (x * y);
}

উত্তর 8:

একটি ঘোষণাপত্রটি ঠিক - এটি সংস্থাপককে উত্স কোডের পরে সংজ্ঞাটি খুঁজে পাওয়ার আশা করতে বলে to এটি সাধারণত একটি শিরোনাম ফাইলে থাকে (.h বা .hpp এক্সটেনশান) এবং উত্সটির (সি, বা সিপিপি এক্সটেনশন) সাধারণত সংজ্ঞা থাকে। ঘোষণার উদ্দেশ্য হ'ল এমন একটি প্রোগ্রামারকে অনুমতি দেওয়া যা আপনি যে ফাংশন বা ক্লাসটি ব্যবহার করছেন যা আপনি ফাংশন বা শ্রেণি ব্যবহার করতে সক্ষম হবেন - তাদের সংজ্ঞাটির প্রয়োজন নেই কারণ সংস্থাপককে আসলে কী করতে হবে তা বলার উত্স কোড হিসাবে ফাংশন / শ্রেণিটি করা উচিত তবে ঘোষণাপত্রটি তাদের জানায় যে ফাংশনটি কী ফিরিয়ে দেয়, ফাংশনটি কী যুক্তি দেয় এবং ফাংশনের নাম যাতে তারা পরে তাদের কোড থেকে ফাংশনটি কল করতে পারে। যদি এটি এতক্ষণ পরিষ্কার না হয় তবে সংজ্ঞাটির কার্যকারিতা সংজ্ঞায়নের জন্য সোর্স কোড রয়েছে (সুতরাং "সংজ্ঞা" শব্দটি ব্যবহার করা হয়েছে)। উভয়ের উদাহরণ এখানে:

// ঘোষণা
int doSomething (int x, int y);

// সংজ্ঞা
ইন ডোসোমথিং (ইনট এক্স, ইনট y)
{
রিটার্ন (x * y);
}

উত্তর 9:

একটি ঘোষণাপত্রটি ঠিক - এটি সংস্থাপককে উত্স কোডের পরে সংজ্ঞাটি খুঁজে পাওয়ার আশা করতে বলে to এটি সাধারণত একটি শিরোনাম ফাইলে থাকে (.h বা .hpp এক্সটেনশান) এবং উত্সটির (সি, বা সিপিপি এক্সটেনশন) সাধারণত সংজ্ঞা থাকে। ঘোষণার উদ্দেশ্য হ'ল এমন একটি প্রোগ্রামারকে অনুমতি দেওয়া যা আপনি যে ফাংশন বা ক্লাসটি ব্যবহার করছেন যা আপনি ফাংশন বা শ্রেণি ব্যবহার করতে সক্ষম হবেন - তাদের সংজ্ঞাটির প্রয়োজন নেই কারণ সংস্থাপককে আসলে কী করতে হবে তা বলার উত্স কোড হিসাবে ফাংশন / শ্রেণিটি করা উচিত তবে ঘোষণাপত্রটি তাদের জানায় যে ফাংশনটি কী ফিরিয়ে দেয়, ফাংশনটি কী যুক্তি দেয় এবং ফাংশনের নাম যাতে তারা পরে তাদের কোড থেকে ফাংশনটি কল করতে পারে। যদি এটি এতক্ষণ পরিষ্কার না হয় তবে সংজ্ঞাটির কার্যকারিতা সংজ্ঞায়নের জন্য সোর্স কোড রয়েছে (সুতরাং "সংজ্ঞা" শব্দটি ব্যবহার করা হয়েছে)। উভয়ের উদাহরণ এখানে:

// ঘোষণা
int doSomething (int x, int y);

// সংজ্ঞা
ইন ডোসোমথিং (ইনট এক্স, ইনট y)
{
রিটার্ন (x * y);
}