আমরা জানি যে প্রোগ্রামিং-এ স্ট্রিংকে অক্ষরের সংগ্রহ হিসাবে সংজ্ঞায়িত করা যেতে পারে। এখন একটি স্ট্রিং তৈরি করতে কতগুলি অক্ষর ব্যবহার করা হচ্ছে তা খুঁজে বের করার প্রয়োজনের জন্য, C দুটি পন্থা প্রদান করে যা হল strlen() এবং sizeof().
উপরের পয়েন্টে উল্লিখিত হিসাবে এই উভয় পদ্ধতিই টার্গেট অপারেন্ডের দৈর্ঘ্য খুঁজে বের করতে ব্যবহৃত হয় তবে তাদের অভ্যন্তরীণ বাস্তবায়নের ভিত্তিতে নিম্নলিখিত দুটির মধ্যে কিছু মৌলিক পার্থক্য রয়েছে।
| Sr. না। | কী | strlen() | sizeof() |
|---|---|---|---|
| 1 | সংজ্ঞা | strlen() হল একটি পূর্বনির্ধারিত ফাংশন যা C-তে string.h নামের একটি হেডার ফাইলে সংজ্ঞায়িত করা হয়েছে। | অন্যদিকে sizeof() একটি ইউনারি অপারেটর এবং একটি পূর্বনির্ধারিত ফাংশন নয়। |
| 2 | বাস্তবায়ন | strlen অভ্যন্তরীণভাবে প্রয়োগ করা হয় কারণ এটি প্রাথমিকভাবে নাল মান ব্যতীত একটি স্ট্রিং-এ অক্ষরের সংখ্যা গণনা করে, অর্থাৎ নাল টার্মিনেটিং স্ট্রিং এর দৈর্ঘ্য প্রদান করে। | যখন সাইজফ এমনভাবে প্রয়োগ করা হয় যে এটি বাইটে (শূন্য মান সহ) যেকোন ধরনের ডেটার (বরাদ্দকৃত) প্রকৃত আকার গণনা করে। |
| 3 | নাল হ্যান্ডলিং | strln নাল বাদ দেয় এবং স্ট্রিংয়ের দৈর্ঘ্যের মোট গণনার মধ্যে এটি অন্তর্ভুক্ত করবেন না। | অন্যদিকে সাইজফ পরিবর্তনশীলের মানগুলিকে গুরুত্ব দেয় না এবং বাইটে (নাল মান সহ) যেকোন ধরণের ডেটা (বরাদ্দকৃত) এর প্রকৃত আকার গণনা করে। |