Diferència entre la fitxa de caràcters i la cadena

Autora: Laura McKinney
Data De La Creació: 1 Abril 2021
Data D’Actualització: 6 Ser Possible 2024
Anonim
Diferència entre la fitxa de caràcters i la cadena - Tecnologia
Diferència entre la fitxa de caràcters i la cadena - Tecnologia

Content


C ++ admet tots dos, Matriu de caràcters i cadena, ja que C ++ té beneficis considerables en l'ús dels dos. Però, la incapacitat d’operar a la matriu de caràcters augmenta el desenvolupament de la cadena de classes. Tant una matriu de caràcters com una cadena contenen la seqüència de caràcters. Però la diferència fonamental entre la matriu de caràcters i la cadena és que la "matriu de caràcters" no es pot operar amb operadors estàndard, mentre que, els objectes "cadena" es poden operar amb operadors estàndard. Estudiem les altres diferències entre una matriu de caràcters i una cadena.

  1. Gràfic de comparació
  2. Definició
  3. Diferències claus
  4. Conclusió

Gràfic de comparació

Bases per a la comparacióPersonatge de matriuCadena
BàsicLa matriu de caràcters és una col·lecció de variables, de tipus de dades de caràcters.La cadena és classe i les variables de la cadena són objecte de la classe "cadena".
Sintaxinom de matriu de car;string string_nom;
IndexacióEl seu índex a la matriu es pot accedir a un caràcter individual d'una matriu de caràcters.A la cadena es pot accedir al caràcter particular mitjançant la funció "string_name.charAt (índex)".
Tipus de dadesUna matriu de caràcters no defineix un tipus de tipus.Una cadena defineix un tipus de dades en C ++.
OperadorsEls operadors de C ++ no es poden aplicar a la matriu de caràcters.Podeu aplicar l'operador C ++ estàndard a la cadena.
DelimitacióEls límits de matrícula es superen fàcilment.Les fronteres no s’excediran.
AccésAccés ràpid.Accés lent.


Definició de Character Array


Una matriu de caràcters és una col·lecció de les variables del tipus de tipus “char”; pot ser una matriu unidimensional o una matriu bidimensional. També s'anomena "cadena final nul·la". Una matriu de caràcters és una seqüència dels caràcters que s’emmagatzemen en adreces de memòria consecutives. En una matriu de caràcters, es pot accedir a un personatge particular mitjançant el seu índex. Un "caràcter nul" finalitza la matriu de caràcters ".

Prenem un exemple de matriu de caràcters: -

char nom = {A, j, a, y, 0}; o char name = "Ajay";

Aquí, "char" és un tipus de dades de caràcters, "nom" és un nom variable de la matriu de caràcters. Havia mostrat dues maneres d’inicialitzar la matriu de caràcters. En el primer mètode, el nul s’esmenta explícitament i en el segon mètode, el compilador insereix automàticament el null.


El final de la cadena sempre és un caràcter nul; és el caràcter final de la matriu de caràcters. Una matriu de caràcters no és un tipus de dades integrat; creem una matriu de caràcters declarant-la. No podeu aplicar operadors estàndard en una matriu de caràcters. Per operar en la matriu de caràcters, hi ha algunes funcions integrades com, (strlen (), strlwr (), strupr (), strcat ()). Com que els operadors estàndard no es poden aplicar a una matriu de caràcters, no poden participar en cap expressió.

També es pot crear el punter de caràcters a una matriu de caràcters.

Entenem-ho amb un exemple.

char s1 = "Hola"; char s2 = "Senyor"; s1 = s1 + s2; // no es poden aplicar els operadors d’error s2 = s1; // error Indicador de caràcters char * s = "Matí"; char * p; p = s; // executa

A l'exemple anterior, havíem declarat dues matrius de caràcters s1, s2 i dos punters de caràcters s i p. La matriu de caràcters s1 i s2 s’inicialitzen, podem veure que ni l’operador d’addició (+) ni l’operador d’assignació funcionen a la matriu de caràcters. Però un punter de caràcters es pot assignar a un altre punter de caràcters.

Recordeu que una vegada inicialitzada la matriu de caràcters no es pot tornar a inicialitzar a un altre conjunt de caràcters. L'accés a una matriu de caràcters o a una cadena final nul·la és ràpid en comparació amb la cadena en C ++.

Definició de Cadena

Una cadena no és un tipus de dades integrat de C ++. És un objecte de classe del tipus "string". Com en C ++ crear una classe és igual que crear un "tipus". La classe "string" forma part de la biblioteca C ++. Conté el conjunt de caràcters o matrius de caràcters en conjunt. Hi ha tres raons per al desenvolupament d'una classe de cadenes estàndard.

  • Primer és "coherència", les matrius de caràcters no són tipus de dades per si mateixes.
  • Segon és “comoditat”, no podeu utilitzar els operadors estàndard d’una matriu de caràcters.
  • Tercer és "seguretat", els límits de la matriu es superen fàcilment.

Entenem les cadenes amb un exemple.

cadena s1; s1 = "Hola"; string s2 ("Bon dia"); string s3 = "Hennery"; cadena s4;

A la declaració anterior, es declaren quatre variables o objectes de cadena (s1, s2, s3, s4). A la declaració anterior, havia mostrat tres maneres d'inicialitzar la cadena. La cadena s1 es declara i es inicialitza per separat. La cadena s2 és inicialitzada pel constructor de la classe "String". La cadena s3 s'inicialitza en el moment de la seva declaració, com ho fa el tipus de dades normal. Podem aplicar l’operador estàndard a les variables de cadena.

s4 = s1; // assignant un objecte de cadena a un altre s4 = s1 + s2; // afegir dues cadenes i emmagatzemar el resultat a la tercera cadena if (s3> s2) // comparació de dues cadenes s5 (s1); crear un objecte de cadena nou mitjançant l'objecte de cadena existent

Al codi anterior, diversos operadors s'apliquen sobre una cadena i es realitzen diverses operacions. La primera instrucció copia un objecte de cadena a un altre objecte de cadena. A la segona afirmació, dues cadenes es concatenen i es guarden en una tercera cadena. A la tercera afirmació, es comparen dues cadenes. A la quarta instrucció, es crea un objecte de cadena nou utilitzant l'objecte de cadena ja existent.

L’accés a la cadena és lent en comparació amb una matriu de caràcters o una cadena final nul·la.

Diferències claus entre la fitxa de caràcters i la cadena

  1. Una matriu de caràcters és una col·lecció de variables que són de tipus de tipus de caràcters. String és una classe que s’inicia per declarar cadenes.
  2. Mitjançant el valor d'índex podeu accedir a un personatge des d'una matriu de caràcters. D'altra banda, si voleu accedir a un determinat personatge d'una cadena, podeu accedir-hi mitjançant la funció string_name_charAt (índex).
  3. Com que una matriu no és un tipus de dades, de manera similar, un caràcter no és també un tipus de tipus. D'altra banda, String és un acte de classe com a tipus de referència, per tant, es pot dir que String és un tipus de dades.
  4. No podeu aplicar cap operador en una matriu de caràcters, mentre que, podeu aplicar operadors a String.
  5. El fet de ser una matriu de caràcters té una longitud fixa i els seus límits es poden superar fàcilment. On String no té límits.
  6. Els elements de matriu s’emmagatzemen en una ubicació de memòria contigua, per tant, es pot accedir més ràpidament que la variable de cadena.

Conclusió:

La incapacitat per operar en matriu de caràcters va augmentar el desenvolupament de la classe de cadenes estàndard.