അക്ഷരശൃംഖല (കമ്പ്യൂട്ടർ ശാസ്ത്രം)
അക്ഷരങ്ങളുടെ (char) ഒരു ശൃംഖലയെയാണ് (array) കമ്പ്യൂട്ടർ ശാസ്ത്രത്തിൽ അക്ഷരശൃംഖല (string) എന്ന് പറയുന്നത്. അന്തർലീനമായി ഇത് അക്ഷരങ്ങളുടെ ഒരു ശൃംഖലയാണെങ്കിലും പല പ്രോഗ്രാമിങ്ങ് ഭാഷകളിലും അക്ഷരശൃംഖല (string) ഒരു തനതായ ഡാറ്റാറ്റൈപ്പാണ്.
ഗണസിദ്ധാന്തത്തിൽ അക്ഷരശൃംഖലയുടെ ഔപചാരിക നിർവചനം ഇപ്രകാരമാണ്
- Σ അക്ഷരമാലയിലെ അക്ഷരങ്ങളുടെ ശൂന്യമല്ലാത്ത ഗണമാണെങ്കിൽ ഒരു അക്ഷരശൃംഖല ഈ ഗണത്തിലെ അംഗങ്ങളുടെ അനന്തമല്ലാത്ത അനുക്രമമാണ് (finite sequence)
- ഒരു അക്ഷരശൃംഖലയുടെ നീളം അതിലുള്ള അക്ഷരങ്ങളുടെ എണ്ണമാകുന്നു. ഈ നീളം ഒരു ധനസംഖ്യയോ, പൂജ്യമോ ആകാം. ഒരിക്കലും ഋണസംഖ്യയോ ഭിന്നസംഖ്യയോ ആവില്ല.
- ഒരു അക്ഷരശൃംഖലയുടെ നീളം പൂജ്യമാണെങ്കിൽ അത് ഒരു Σ ന്റെ ഒരു ശൂന്യ ഗണമായിരിക്കും
കമ്പ്യൂട്ടർ മെമ്മറിയിൽ "Hello world" എന്ന ഇംഗ്ലീഷ് വാക്യം ഇപ്രകാരമാണ് സംഭരിക്കുക :
ഇൻഡെക്സ്(index) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
അക്ഷരം | H | e | l | l | o | w | o | r | l | d | NULL | |
ASCII decimal മൂല്യം | 72 | 101 | 108 | 108 | 111 | 32 | 119 | 111 | 114 | 108 | 100 | NULL |
ബൈനറി മൂല്യം | 01001000 | 01100101 | 01101100 | 01101100 | 01101111 | 0100000 | 01110111 | 01101111 | 01110010 | 01101100 | 01100100 | 00000000 |
ഒരു സി++ പ്രോഗ്രാമിൽ ഒരു അക്ഷരശൃംഗലയെ അതിന്റെ പ്രാഥമിക (primitive) രൂപത്തിൽ (as char array) ഇപ്രകാരമാണ് സൃഷ്ട്ടിച്ച് ഉപയോഗിക്കുക.
//Standard c++ code. Will need minor modification for Turbo C++
#include <iostream>
using namespace std;
int main() {
char a[] = "Hello world";
for(int j=0; j<11; ++j) {
cout<<a[j];
}
cout<<endl;
return 0;
}
അവലംബംതിരുത്തുക