Bevezetés a C ++ karakterlánc-tömbbe
A C ++-ban számos adattípus létezik, például egész szám, úszó, karakter, karakterlánc. A karakterlánc adattípus egy karakter tömb, amely null karakterrel ('\ 0') zárul, amely a tömb vagy karakterlánc végét jelöli. C-nek ilyenként nem volt az adattípus-karakterlánca, ezért karakterláncot kellett létrehoznunk egy karakterlánc létrehozásához. A C ++ változatban van a beépített adattípus-karakterlánc.
Példa karakterre: 'a' vagy 'A'
Példa karakterláncra (C ++): “English”
Karakterlánc: karakter tömb: Karakterlánc (0) = 'E'
Karakterlánc (1) = 'n'
Karakterlánc (2) = „g”
Karakterlánc (3) = 'l'
Karakterlánc (4) = 'i'
Karakterlánc (5) = 's'
Karakterlánc (6) = 'h'
Karakterlánc (7) = '\ 0'
A vonóságok közvetlenül C ++ formátumban deklarálhatók, írhatók és kinyomtathatók. A karakterlánc mindegyik karakteréhez hozzáférhet egy index is, amely hasonló a tömb indexeléséhez. A karakterlánc esetében, ha karakter tömb formájában olvasunk a scanf () használatával, akkor leállítja a karakterláncot vagy az olvasási funkciót, amikor megtalálja az első fehér teret. Ennek elkerülése érdekében a () függvény használható. Ez egy egész sort olvas, és csak akkor hagyja abba az olvasást, ha a felhasználó az "Enter" gombra kattint.
Karakterlánc tömb a C ++-ban több karakterlánc tömbje
Húros tömb vagy Húros tömb több sor tömbje. Ezt a következőképpen lehet kijelenteni:
string Animals(4) = ("Elephant", "Fox", "Lion", "Tiger");
A teljes karakterlánc-tömb kinyomtatásához a hurok használható:
Kód:
for(int i = 0; i<4; i++) (
cout << Animals(i) << endl;
)
Kimenet:
Hogyan lehet elérni az elemeket a karakterlánc-tömbből?
A húrok tömbje hasonló a kétdimenziós tömbhöz. Az első dimenzió vagy index a karakterlánc indexét határozza meg a tömbszerű 1. szót / karakterláncot vagy a 2. szót / karakterláncot és így tovább. Mivel a második dimenzió vagy index meghatározza az adott szó / karakterlánc mely karakterét.
Magyarázat egy világos példával:
Animals(2)(1) = 'i'
A fenti példában az első '2' index meghatározza a tömb második karakterláncát: „Tiger”. A második '1' index meghatározza, hogy az a "Tigris" szó második betűje vagy 1. indexe. A kétdimenziós indexeléssel minden karakter minden karakterláncból könnyen elérhető.
Karakterlánc-elosztás vagy definiálás
Különböző módszerek vannak a karakterláncok sorozatának kiosztására:
1. 2D tömb Char (amely C-ben is használható)
char Név (maximális elemszám) (az elemek maximális mérete)
char szín (4) (8) = (“kék”, “piros”, “fehér”, “fekete”)
Kód:
int main() (
char color(4)(8) = (“blue”, “red”, “white”, “black”);
for(int i = 0; i<4; i++) (
cout << color(i) << endl;
)
)
Teljesítmény :
Itt a tömb színe rögzített méretű, azaz az elemek száma rögzítve van, és az elem karaktereinek száma vagy mérete is rögzítve van. A meghatározható elemek maximális száma 4, és mindegyik legfeljebb 8 karakterből állhat. Ez a fő akadály a 2d karakter tömbben.
2. Tömb a String kulcsszóval (csak C ++ formában lehetséges)
karakterlánc neve (elemek maximális száma)
karakterlánc szín (4) = (“kék”, “piros”, “fehér”, “fekete”)
Kód:
int main() (
string color(4) = (“blue”, “red”, “white”, “black”);
for(int i = 0; i<4; i++) (
cout << color(i) << endl;
)
)
Teljesítmény :
Itt csak egy dimenzió van rögzítve, amikor string tömbként deklaráljuk. Csak az elemek száma van rögzítve. Az elem mérete változhat. De a második dimenzió meghatározásával hozzáférhetünk vagy megjeleníthetjük az adott karaktert egy adott karakterláncból.
3. Vektorok használata a C ++ programban
vektor neve
vektor szín
Kód:
#include
#include
using namespace std;
int main()
(
vector color;
color.push_back("blue");
color.push_back("red");
color.push_back("white");
color.push_back("black");
for(int i = 0; i cout << color(i) << endl;
)
return 0;
)#include
#include
using namespace std;
int main()
(
vector color;
color.push_back("blue");
color.push_back("red");
color.push_back("white");
color.push_back("black");
for(int i = 0; i cout << color(i) << endl;
)
return 0;
)
Kimenet:
Itt dinamikusan allokálódik, a memóriát a halomból osztják el. A méret nincs rögzítve. Növekszik vagy csökkenthet az elemek száma szerint. Abban az esetben, ha karakterlánc-tömböt dinamikusan allokálunk az „new” paranccsal, akkor a lefoglalt memóriát manuálisan kell elosztani. De a vektor esetében erre nincs szükség. Az újraelosztás vektorban lehetséges, míg a dinamikusan elosztott tömbben nem lehetséges.
4. Karakterlánc-tömb átadása egy függvényben
A Karakterlánc-tömb átadható egy olyan függvényhez, amely hasonló a Tömb átadása.
Kód:
#include
#include
using namespace std;
void display(string s(5))(
cout << s(2) ;
)
int main() (
string str(5) = ("Good", "Bad", "Positive", "Negative");
display(str);
)
Teljesítmény :
Itt átadjuk a str karakterlánc-tömböt paraméterként a „display” funkcióhoz, amely kinyomtatja a karakterlánc-tömb harmadik elemét („Pozitív”).
5. Másolás a karakterlánc-tömbből egy másikba
A karakterlánc-tömbből a másikba történő másoláshoz minden elemet külön kell másolni, de a teljes tömb nem másolható egyszerre.
Kód:
int main() (
string str(4) = ("Good", "Bad", "Positive", "Negative");
string s(4);
// s = str; -à This line gives error as the whole array cannot be copied at a single go
// It can be copied as shown below
for( int i=0; i<4; i++) (
s(i) = str(i);
)
for(int i=0; i<4; i++) (
cout << "The element " << i+1 << " of copied array = " << s(i) << " is same as
the corresponding element in main array which is " << str(i) << endl;
)
)
Hiba kimenet:
Kimenet:
Itt, amikor megpróbáltuk az egész fő karakterlánc-tömböt (str) másolni egy másik karakterlánc-tömbbe (karakterisztikákba), hibát kaptunk (amint az a1-es képen látható), míg amikor elemről elemre másoltuk, az str-t másoltuk az s-be, és ellenőrizhetjük ezt a második kimeneti képernyőkép megtekintésével.
Következtetés
Így a karakterlánc egy adattípus, amely karakterek tömbje, és csak a C ++-ban van jelen. A C-ben karakter tömbként deklaráltuk. A húrok tömbje egy tömb, amely sok vonalból áll. Ha statikusan vagy dinamikusan deklarálják, akkor rögzített méretű, és ha vektor formájában deklarálják, akkor a méret nem rögzített. Az egyes elemek és a karakterek egy adott elemben könnyen elérhetők a karakterlánc-tömb indexelésével.
Ajánlott cikkek
Ez egy útmutató a String Array-hez a C ++-ban. Itt tárgyaljuk, hogyan lehet az elemet túlteljesíteni a String Array-ben a C ++-ban, és a String-tömb elosztását a C ++-ban. Megnézheti más kapcsolódó cikkeinket, hogy többet megtudjon-
- Húros tömb a Pythonban
- StringBuffer Java-ban
- Python karakterlánc funkciók
- Tömbök C ++-ban
- Bevezetés a C # karakterlánc-tömbbe
- A C ++ 11 legfontosabb tulajdonságai és előnyei
- A String és a StringBuilder nyolc legfontosabb összehasonlítása
- Array Munka az Unix-ban a Syntax segítségével?