characters के sequence को string कहा जाता है और C++ character array , characters का collection होता है जिसमे character एक sequence के रूप में store होते हैं।
character array का उपयोग C string related task के लिए किया जाता है। character array को program में int और float data type की तरह ही declare किया जाता है।
syntax:
storage-class char array-name[size];
character array और int
type array दोनों अलग हैं,
character array हमेशा NULL character के साथ terminate होता है जबकि अन्य array में ऐसी स्थिति नहीं होती है।
Example
char name[6];
जहां name एक identifier है।
NOTE: character array को C -string भी कहा जाता है।
यहाँ character array(C-string ) और C++ string के बीच अंतर दिया गया है।
Initialization of a character array
SYNTAX
char array-name[size]= {list};
char name[] = "Rahul";
या
char array-name[size]= {list, '\0'};
char name[6]= {'R', 'a', 'h', 'u', 'l', '\0'};
यहां हमने array का size name [6] declare किया है, लेकिन यह केवल 5 values को ही store करेगा। अंतिम location NULL character के लिए reserve रहता है।
calculate string length without strlen in C++
strlen
string library में पहले से defined function है जिसका प्रयोग C ++ में string की length calculate करने के लिए किया जाता है, लेकिन यहाँ हम इसका उपयोग किए बिना ही string length calculate करेंगे,
नीचे दिए गए Program में, हमने दो task perform किए हैं पहला character array के elements को access करना और दूसरा string length calculate करना –
#include<iostream.h>
#include<conio.h>
void main()
{
int i,len=0;
char name[6]="Rahul";
clrscr();
// displaying character using loop
cout<<"displaying string : ";
for(i= 0; name[i]!='\0'; i++)
{
cout<<name[i]; // displaying string
}
//calculating string length
for(i= 0; sec[i]!='\0'; i++)
{
len++; // calculate string length
}
cout<<"\n string length: "<<len++;
getch();
}
OUTPUT
displaying string : Rahul
string length: 6
Explanation
उपरोक्त program में, हमने string length calculate करने के लिए एक loop का प्रयोग किया, यहां condition है loop तब तक execute हो जब variable i का मान 0 से मेल नहीं खाता, जैसे-
आप ऊपर दिए गए diagram में देख सकते हैं कि loop 5time execute होगा और प्रत्येक execution में, variable len को 1 से बढ़ता जायेगा जो कि string length होगा, 6th में variable i मान 0 (NULL )के साथ मेल खाता है, तो loop समाप्त हो जाएगा और variable len की value print हो जाएगी।
similarly in Two-dimensional array,
char name[3][4];
char name[2][3]={ "one", "two", "three", "four", "five"};
जैसा कि हम उपरोक्त Program में देख सकते हैं, string related task करना थोड़ा मुश्किल होता है, इसलिए C ++ में string के लिए पहले से ही एक pre defined library function दिया गया है।
यहाँ character array का एक और उदाहरण दिया गया है जिसमे हम user input के ASCII value को print करते हैं –
Find out the ASCII code of a string given by the user using Character array in C++
#include<iostream.h>
#include<conio.h>
void main()
{
clrscr();
char n[30];
cout<<"Enter your name: ";
cin>>n;
for(int i=0;n[i]!='\0';i++)
{
cout<<n[i]<<"\t"; // print name
}
cout<<endl;
for(int j=0;n[j]!='\0';j++)
{
cout<<int(n[j])<<"\t"; // print ascii value
}
getch();
}
OUTPUT
यहाँ program का दो execution दिया गया है, जिससे आप समझ सकते हैं कि ASCII codes किस प्रकार user input के same होने पर भी अलग होता है।
1st Execution
Enter your name: rohit
r o h i t
114 111 104 105 116
2nd Execution
Enter your name: ROHIT
R O H I T
82 79 72 73 84
✍ C ++ में एक predefined function toascii (int)
है जिसे आप किसी भी value का ascii code ज्ञात कर सकते हैं।
ASCII कोड के बारे में अधिक जानने के लिए इस program को देखें। Print all ASCII values in C++
Found out a character array size in C++
#include<iostream.h>
#include<conio.h>
void main()
{
char name[]= "Rahul"; //{'R','a','h','u','l','\0'};
clrscr();
cout<<"\nsize of name : "<<sizeof(float)<<" bytes";
getch();
}
OUTPUT
size of name : 6 bytes
Explanation
जैसा कि हम जानते हैं कि char -data type memory में 1 byte लेता है, लेकिन उपरोक्त program में,character array 6 byte लेगा। क्योंकि NULL character भी 1 byte लेगा। जैसे कि –
✍ : Character array also called C-string.
previous – array and their types
next- Structure in C++