প্রোগ্রামিংয়ের মৌলিক ধারণা/স্ট্রিং ডেটা টাইপ
সংক্ষিপ্ত পরিচিতি
[সম্পাদনা]স্ট্রিং ডেটা টাইপ সাধারণত অনেকগুলো অক্ষর একসঙ্গে জোড়া লাগানো একটি ধারাবাহিক রূপে থাকে। এটি কখনো সরাসরি কোডে লেখা ধ্রুবক (লিটারেল) আকারে হতে পারে, আবার কখনো ভেরিয়েবলের মাধ্যমে প্রকাশ পায়। যদি এটি ভেরিয়েবল হয়, তাহলে এর অক্ষরগুলো পরিবর্তন করা যায় এবং দৈর্ঘ্যও বাড়ানো বা কমানো যায়। তবে কিছু ক্ষেত্রে একবার তৈরি হলে এটি আর পরিবর্তন করা যায় না। স্ট্রিংকে একটি ডেটা টাইপ হিসেবে ধরা হয় এবং এটি সাধারণত অ্যারের মতো ডেটা স্ট্রাকচারের সাহায্যে তৈরি করা হয়, যেখানে অক্ষরগুলো একটি নির্দিষ্ট ক্যারেক্টার এনকোডিং ব্যবহার করে ধারাবাহিকভাবে বাইট (বা ওয়ার্ড) আকারে সংরক্ষিত থাকে।[১]
আলোচনা
[সম্পাদনা]একটি স্ট্রিং ভেরিয়েবল কীভাবে মেমোরিতে স্থান নেবে, তা নির্ভর করে ব্যবহৃত প্রোগ্রামিং ভাষা ও ডেটা টাইপের ওপর। কিছু ভাষায় স্ট্রিংয়ের জন্য একটি নির্দিষ্ট সর্বোচ্চ দৈর্ঘ্যের মেমোরি বরাদ্দ করা হয় (স্ট্যাটিক), আবার অন্য কিছু ভাষায় স্ট্রিং-এর দৈর্ঘ্য অনুযায়ী মেমোরি বরাদ্দ হয় (ডায়নামিক)। যখন একটি স্ট্রিং সরাসরি কোডে লেখা হয়, তখন একে স্ট্রিং লিটারেল বা বেনামী স্ট্রিং বলা হয়।[২]
'ক্যারেক্টার' ডেটা টাইপ মানে হলো একেকটি একক অক্ষর। এই অক্ষর হতে পারে বড় বা ছোট হাতের বর্ণ, সংখ্যা (০ থেকে ৯), যতিচিহ্ন ইত্যাদি। প্রতিটি অক্ষর কম্পিউটারে এক বাইট মেমোরিতে ইন্টিজার মান হিসেবে সংরক্ষিত হয়। যেহেতু এক বাইটে ৮টি বিট থাকে, তাই এতে ২⁸ বা ২৫৬টি ভিন্ন মান রাখা যায়—প্রায়শই ০ থেকে ২৫৫ পর্যন্ত।
সি++, সি# ও জাভা ভাষাগুলোতে একক ক্যারেক্টার এবং স্ট্রিংকে আলাদা করে বোঝাতে 'একক উদ্ধৃতিচিহ্ন' (' ') এবং 'দ্বৈত উদ্ধৃতিচিহ্ন' (" ") ব্যবহার করা হয়। অন্যদিকে জাভাস্ক্রিপ্ট, পাইথন ও সুইফ্ট ভাষাগুলোতে ক্যারেক্টার ও স্ট্রিং আলাদাভাবে বোঝানো হয় না, এবং এদের স্ট্রিং লেখার জন্য একক বা দ্বৈত উদ্ধৃতিচিহ্ন—দুটোই ব্যবহার করা যায়।
| ভাষা | সংরক্ষিত শব্দ | উদাহরণ |
|---|---|---|
| C++ | char
|
'A'
|
| C++ | string
|
"Hello world!"
|
| C# | char
|
'A'
|
| C# | String
|
"Hello world!"
|
| Java | char
|
'A'
|
| Java | String
|
"Hello world!"
|
| JavaScript | String
|
'Hello world!', "Hello world!"
|
| Python | str()
|
'Hello world!', "Hello world!"
|
| Swift | Character
|
"A"
|
| Swift | String
|
"Hello world!"
|
প্রায় সব কম্পিউটারে ASCII (American Standard Code for Information Interchange – উচ্চারণ: অ্যাস্কি) ক্যারেক্টার সেট ব্যবহার করা হয়, যেখানে ০ থেকে ১২৭ পর্যন্ত অক্ষর ও চিহ্নগুলোর নির্দিষ্ট সংখ্যা নির্ধারণ করা আছে। ১২৮ থেকে ২৫৫ পর্যন্ত মান সাধারণত Extended ASCII ব্যবহার করে নির্ধারণ করা হয়। উদাহরণস্বরূপ, যদি আমরা কীবোর্ডে বড় হাতের A চাপি, তাহলে কীবোর্ড একটি বাইট পাঠায় যার সংখ্যা ৬৫। এরপর মেমোরি থেকে যখন এটি মনিটরে পাঠানো হয়, মনিটর সেই ৬৫ সংখ্যাকে বড় হাতের A-তে রূপান্তর করে দেখায়।
এই মুহূর্তে আমরা শুধু স্ট্রিং এবং ক্যারেক্টার ধ্রুবক (constant) নিয়ে আলোচনা করব। অধিকাংশ আধুনিক কম্পাইলার, যা একটি Integrated Development Environment (IDE)-এর অংশ, কোডের বিভিন্ন অংশকে বিভিন্ন রঙে হাইলাইট করে, যাতে প্রোগ্রামাররা সহজে বোঝেন কোন অংশ কী করছে। নতুন প্রোগ্রামাররা সাধারণত স্ট্রিং কনস্ট্যান্ট ব্যবহার করে স্ট্যান্ডার্ড আউটপুটে বার্তা প্রিন্ট করার মাধ্যমেই প্রোগ্রামিং শুরু করেন।
মূল শব্দসমূহ
[সম্পাদনা]- ASCII
- American Standard Code for Information Interchange — এটি একটি স্ট্যান্ডার্ড কোড, যা কম্পিউটারে অক্ষর, সংখ্যা ও প্রতীককে সংখ্যা হিসেবে উপস্থাপন করতে ব্যবহার করা হয়।
- ক্যারেক্টার
- একটি একক অক্ষর যেমন—বর্ণ, সংখ্যা বা যতিচিহ্ন বোঝাতে ব্যবহৃত ডেটা টাইপ।
- দ্বৈত উদ্ধৃতিচিহ্ন
- বেশিরভাগ প্রোগ্রামিং ভাষায় স্ট্রিং টাইপ ডেটা লেখার জন্য এই চিহ্ন (" ") ব্যবহার করা হয়।
- একক উদ্ধৃতিচিহ্ন
- যেসব ভাষায় স্ট্রিং ও ক্যারেক্টার আলাদা করে দেখানো হয়, সেসব ভাষায় ক্যারেক্টার টাইপ ডেটা লেখার জন্য এই চিহ্ন (' ') ব্যবহার করা হয়।
- স্ট্রিং
- অনেক অক্ষরের একটি সজ্জিত রূপ যা একসাথে একটি ডেটা হিসেবে ব্যবহৃত হয়।