সি প্রোগ্রামিং এ স্ট্রিং কি?

Si Programim E Strim Ki



সি প্রোগ্রামিং ভাষায়, স্ট্রিং অক্ষর একটি গ্রুপ প্রতিনিধিত্ব করার একটি উপায়. এগুলি অপরিহার্য কারণ তারা প্রোগ্রামারদের জন্য তাদের প্রোগ্রামগুলিতে পাঠ্য ডেটা নিয়ে কাজ করা সম্ভব করে তোলে। অন্যান্য কিছু প্রোগ্রামিং ভাষার বিপরীতে, সি-তে বিল্ট-ইন স্ট্রিং ডেটা টাইপ নেই। পরিবর্তে, অক্ষর অ্যারে ব্যবহার করে স্ট্রিং তৈরি করা হয়।

এই নিবন্ধে, আমরা ব্যাখ্যা করব সি-তে কী কী স্ট্রিং আছে, কীভাবে সেগুলি ঘোষণা করা হয় এবং কীভাবে সি প্রোগ্রামিং-এ সেগুলি বাস্তবায়ন করা যায়।

সি প্রোগ্রামিং এ স্ট্রিং কি?

স্ট্রিং হল এক-মাত্রিক অ্যারে যা দ্বারা সমাপ্ত হয় শূন্য \0 চরিত্র এগুলি অক্ষর এবং পাঠ্য সংরক্ষণের জন্য ব্যবহৃত হয় এবং স্ট্রিংয়ের প্রতিটি অক্ষর মেমরির এক বাইট দখল করে। অন্যান্য প্রোগ্রামিং ভাষার বিপরীতে, সি-তে স্ট্রিং হিসাবে ডেটা টাইপের নাম নেই, এর পরিবর্তে, আপনি ডেটা সংরক্ষণ করেন char টাইপ।







সি প্রোগ্রামিং এ কিভাবে স্ট্রিং ডিক্লেয়ার করবেন?

সি প্রোগ্রামিং-এ, আপনি নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করে একটি স্ট্রিং ঘোষণা করতে পারেন:



আপনি একটি পূর্বনির্ধারিত আকারের সাথে একটি স্ট্রিং বরাদ্দ করতে পারেন। উদাহরণস্বরূপ, 8 অক্ষরের সীমার আকার সহ একটি স্ট্রিং হিসাবে ঘোষণা করা উচিত:



চর পরীক্ষা [ 8 ] = 'স্বাগত' ;

C-তে একটি স্ট্রিং বরাদ্দ করার আরেকটি পদ্ধতি হল অ্যারের আকার নির্ধারণ না করে:





চর পরীক্ষা [ ] = 'স্বাগত' ;

আপনি একটি সংজ্ঞায়িত আকার সহ একটি অক্ষর অ্যারে ব্যবহার করে একটি স্ট্রিং বরাদ্দ করতে পারেন:

চর পরীক্ষা [ 8 ] = { 'ভিতরে' , 'এইটা' , 'আমি' , 'গ' , 'ও' , 'আমি' , 'এইটা' , ' \0 ' } ;

অথবা আপনি একটি সংজ্ঞায়িত আকার ছাড়া অক্ষর দ্বারা অক্ষর শুরু করে একটি অক্ষর অ্যারেতে একটি স্ট্রিং বরাদ্দ করতে পারেন:



চর পরীক্ষা [ ] = { 'ভিতরে' , 'এইটা' , 'আমি' , 'গ' , 'ও' , 'আমি' , 'এইটা' , ' \0 ' } ;

দ্য শূন্য অক্ষর '\0' একটি স্ট্রিং এর শেষ প্রতিনিধিত্ব করে। স্ট্রিংটি কোথায় শেষ হবে তা নির্ধারণ করতে, প্রতিটির শেষে নাল অক্ষর যোগ করা গুরুত্বপূর্ণ।

উপরের স্ট্রিং এর মেমরি উপস্থাপনা নিম্নরূপ হবে:

সূচক 0 1 2 3 4 5 6 7
পরিবর্তনশীল ভিতরে এইটা l মি এইটা \0

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

নিচে একটি স্ট্রিং প্রিন্ট করার জন্য একটি সম্পূর্ণ সি প্রোগ্রামিং কোড।

# অন্তর্ভুক্ত করুন

int প্রধান ( ) {

চর পরীক্ষা [ 8 ] = { 'ভিতরে' , 'এইটা' , 'আমি' , 'গ' , 'ও' , 'আমি' , 'এইটা' , ' \0 ' } ;

printf ( 'আউটপুট হল: %s \n ' , পরীক্ষা ) ;

ফিরে 0 ;

}

উপরের প্রোগ্রামটি 8 এর আকার সহ একটি অক্ষর অ্যারে পরীক্ষা ঘোষণা করে এবং এটি অক্ষর দিয়ে শুরু করে 'স্বাগত' , এবং '\0' . এটি তারপর ব্যবহার করে printf() পরীক্ষায় সংরক্ষিত স্ট্রিং প্রিন্ট করার ফাংশন।

আউটপুট

সি প্রোগ্রামিং-এ ব্যবহারকারীর কাছ থেকে স্ট্রিং এর ইনপুট নিন

আপনি ব্যবহার করে একটি ব্যবহারকারীর কাছ থেকে ইনপুট স্ট্রিং নিতে পারেন scanf() ফাংশন এবং এর জন্য, আপনাকে অবশ্যই স্ট্রিং অ্যারের আকার নির্ধারণ করতে হবে। নিম্নলিখিত ব্যবহারকারীর কাছ থেকে ইনপুট নেওয়ার জন্য একটি উদাহরণ কোড:

# অন্তর্ভুক্ত করুন

int প্রধান ( )

{

চর নাম [ 10 ] ;

printf ( 'নাম লিখুন:' ) ;

scanf ( '%s' , নাম ) ;

printf ( 'প্রবিষ্ট নামটি হল: %s।' , নাম ) ;

ফিরে 0 ;

}

উপরের প্রোগ্রামটি ব্যবহারকারীকে একটি নাম লিখতে অনুরোধ করে, scanf() ফাংশন ব্যবহার করে ব্যবহারকারীর কাছ থেকে এটি পড়ে এবং ক্যারেক্টার অ্যারে নামের মধ্যে সংরক্ষণ করে। এটি তারপর প্রিন্টফ() ফাংশন ব্যবহার করে প্রবেশ করা নাম মুদ্রণ করে।

আউটপুট

সি প্রোগ্রামিং-এ একটি স্ট্রিং বা লাইন অফ টেক্সট পড়ুন

আপনি ব্যবহার করতে পারেন fgets() স্ট্রিং পড়ার ফাংশন যেমন এটি নির্দিষ্ট ইনপুট স্ট্রীম থেকে পাঠ্যের একটি লাইন পড়তে এবং এটি একটি অক্ষর অ্যারেতে সংরক্ষণ করতে ব্যবহৃত হয়। নীচের লিখিত কোড এই ধরনের একটি উদাহরণ:

# অন্তর্ভুক্ত করুন

int প্রধান ( ) {

চর লাইন [ পঞ্চাশ ] ;

printf ( 'পাঠ্যের একটি লাইন লিখুন:' ) ;

fgets ( লাইন , আকার ( লাইন ) , stdin ) ;

printf ( 'আপনি প্রবেশ করেছেন: %s' , লাইন ) ;

ফিরে 0 ;

}

উপরের সি প্রোগ্রামটি ব্যবহার করে fgets() স্ট্যান্ডার্ড ইনপুট থেকে ব্যবহারকারী দ্বারা প্রবেশ করা পাঠ্যের একটি লাইন পড়ার ফাংশন এবং লাইন নামক একটি অক্ষর অ্যারেতে সংরক্ষণ করে। তারপর, এটি printf() ফাংশন ব্যবহার করে লেখার প্রবেশ করা লাইন প্রিন্ট করে।

আউটপুট

সাধারণত ব্যবহৃত স্ট্রিং ফাংশন

সি প্রোগ্রামিং-এর স্ট্রিংগুলি বিভিন্ন ফাংশন সমর্থন করে যা বিভিন্ন ক্রিয়া সম্পাদনের জন্য প্রোগ্রামগুলিতে ব্যবহার করা যেতে পারে। C-তে একটি স্ট্রিং দ্বারা সমর্থিত কিছু ফাংশন নীচে উল্লেখ করা হয়েছে:

ফাংশনের নাম ফাংশনের উদ্দেশ্য
strcat(a1,a2); স্ট্রিং a1 এর শেষে স্ট্রিং a2 এর বিষয়বস্তু যুক্ত করে। অপারেশনের পরে, ফলস্বরূপ স্ট্রিংটি a1 এ সংরক্ষণ করা হবে।
strcpy(a1,a2); এই ফাংশন স্ট্রিং a2 এর বিষয়বস্তু স্ট্রিং a1 এ কপি করে। অপারেশনের পর, a1-এ a2-এর একটি সঠিক কপি থাকবে, যার মধ্যে নাল অক্ষর সমাপ্ত হবে।
strlen(a1); স্ট্রিং a1 এর দৈর্ঘ্য প্রদান করে, অর্থাৎ, শেষ সমাপ্ত বা শূন্য অক্ষরের আগে স্ট্রিংটিতে অবস্থিত মোট অক্ষর সংখ্যা।
strchr(a1,ch1); এই ফাংশনটি পয়েন্টারকে স্ট্রিং a1-এ ch1 অক্ষরের প্রথম উপস্থিতিতে নিয়ে যায়। স্ট্রিং a1 এ ch1 পাওয়া না গেলে এই ফাংশনটি একটি নাল পয়েন্টার প্রদান করে।

বিঃদ্রঃ: সি নামক একটি স্ট্যান্ডার্ড লাইব্রেরি প্রদান করে যা সি-তে স্ট্রিং-এর সাথে কাজ করার জন্য বিভিন্ন ফাংশন প্রদান করে।

উপসংহার

স্ট্রিং হল সি প্রোগ্রামের রৈখিক অনুক্রমের সংগ্রহ। প্রতিটি অক্ষর একটি বাইট সঞ্চয় করে এবং ডবল উদ্ধৃতি চিহ্ন দিয়ে উপস্থাপন করা হয়। সি স্ট্যান্ডার্ড লাইব্রেরি প্রদান করে এবং আপনি স্ট্রিং ফাংশনগুলির মাধ্যমে সহজে জটিল কাজগুলি সম্পাদন করতে পারেন। উপরের নির্দেশিকায়, আমরা স্ট্রিং এবং ইনিশিয়ালাইজেশন ঘোষণার বিভিন্ন উপায় নিয়ে আলোচনা করেছি। আমরা একটি উদাহরণ কোড সহ একটি ফাংশনে স্ট্রিং পাস করার বিষয়টিও প্রদর্শন করেছি।