Pagkakaiba sa pagitan ng Character Array at String

May -Akda: Laura McKinney
Petsa Ng Paglikha: 1 Abril 2021
I -Update Ang Petsa: 6 Mayo 2024
Anonim
Section 6
Video.: Section 6

Nilalaman


Sinusuportahan ng C ++ pareho, Ang array ng character at string, dahil ang C ++ ay may malaking benepisyo sa paggamit ng pareho sa kanila. Ngunit, ang kawalan ng kakayahan upang gumana sa array ng character ay nagtaas ng pag-unlad ng string ng klase. Parehong isang hanay ng character at string ay naglalaman ng pagkakasunud-sunod ng mga character. Ngunit ang pangunahing pagkakaiba sa pagitan ng hanay ng character at string ay ang "array ng character" ay hindi maaaring patakbuhin sa mga karaniwang operator, samantalang, ang "string" na mga bagay ay maaaring pinatatakbo sa mga karaniwang operator. Pag-aralan natin ang iba pang mga pagkakaiba sa pagitan ng isang hanay ng character at string.

  1. Tsart ng paghahambing
  2. Kahulugan
  3. Pangunahing Pagkakaiba
  4. Konklusyon

Tsart ng paghahambing

Batayan para sa PaghahambingCharacter ArrayString
PangunahingAng hanay ng karakter ay koleksyon ng mga variable, ng uri ng data ng character.Ang string ay klase at variable ng string ay ang object ng "string" ng klase.
Syntaxchar array_name;string string_name;
Pag-indexAng isang indibidwal na character sa isang array ng character ay maaaring ma-access ng index nito sa array.Sa string ang partikular na karakter ay maaaring ma-access ng function na "string_name.charAt (index)".
Uri ng datosAng isang array ng character ay hindi tumutukoy sa isang datatype.Ang isang string ay tumutukoy sa isang datatype sa C ++.
Mga OperatorAng mga operator sa C ++ ay hindi mailalapat sa array ng character.Maaari kang mag-aplay ng karaniwang C ++ operator sa string.
HanggananAng mga hangganan ng Array ay madaling maabutan.Ang mga hangganan ay hindi lalampas.
Pag-accessMabilis na pag-access.Mabagal ang pag-access.


Kahulugan ng Character Array


Ang isang array ng character ay isang koleksyon ng mga variable ng "char" datatype; maaari itong maging isang one-dimensional na array o isang dalawang dimensional na hanay. Tinatawag din itong "null terminated string". Ang isang array ng Character ay isang pagkakasunud-sunod ng mga character na nakaimbak sa magkakasunod na mga address ng memorya. Sa isang array ng character, ang isang partikular na karakter ay maaaring ma-access ng index nito. Ang isang "Null character" ay nagtatapos sa hanay ng character ".

Magsagawa tayo ng isang halimbawa ng hanay ng character: -

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

Dito, ang "char" ay isang uri ng data ng character, ang "pangalan" ay isang variable na pangalan ng array ng character. Nagpakita ako ng dalawang paraan upang masimulan ang hanay ng character. Sa unang pamamaraan, ang null ay tahasang binanggit at sa pangalawang pamamaraan, awtomatikong ipinasok ng tagatala ang null.


Ang pagtatapos ng string ay palaging isang null character; ito ay ang pagtatapos ng character ng array ng character. Ang isang array ng character ay hindi isang built-in na uri ng data; lumikha kami ng array ng character sa pamamagitan ng pagpapahayag nito. Hindi ka maaaring mag-apply ng mga karaniwang operator sa isang array ng character. Upang gumana sa hanay ng karakter mayroong ilang built-in na function tulad ng, (strlen (), strlwr (), strupr (), strcat ()). Bilang ang mga karaniwang operator ay hindi mailalapat sa isang array ng character, hindi sila makikilahok sa anumang expression.

Ang character pointer sa isang array ng character ay maaari ring malikha.

Unawain natin ito ng isang halimbawa.

char s1 = "Kumusta"; char s2 = "Sir"; s1 = s1 + s2; // error operator ay hindi mailalapat s2 = s1; // error Character pointer char * s = "Umaga"; char * p; p = s; // isinasagawa

Sa itaas halimbawa, ipinapahayag namin ang dalawang character array s1, s2 at dalawang character pointers s at p. Ang pag-iisa ng s1 at s2 ng character ay paunang nasimulan, makikita natin na alinman sa karagdagan sa operator (+) o ang operator ng pagtatalaga ay gumagana sa array ng character. Ngunit ang isang pointer ng character ay maaaring italaga sa ibang character pointer.

Alalahanin kapag ang pag-aayos ng character ay nauna nang hindi ito ma-initialize muli sa isa pang hanay ng pagkatao. Ang pag-access sa isang array ng character o isang null na natapos na string ay mabilis kumpara sa string sa C ++.

Kahulugan ng String

Ang isang string ay hindi isang built-in na uri ng data ng C ++. Ito ay isang uri ng klase ng uri ng "string". Tulad ng sa C ++ paglikha ng isang klase ay tulad ng paglikha ng isang "uri". Ang "string" ng klase ay isang bahagi ng C ++ library. Hawak nito ang hanay ng character o character array bilang isang buo. Mayroong tatlong mga kadahilanan sa likod ng pag-unlad ng isang standard na klase ng string.

  • Una ay "pare-pareho", ang mga arrays ng character ay hindi mga uri ng data sa kanilang sariling karapatan.
  • Pangalawa ay "kaginhawaan", hindi ka maaaring gumamit ng mga karaniwang operator sa isang hanay ng character.
  • Pangatlo ay "kaligtasan", ang mga hangganan ng array ay madaling maabutan.

Unawain natin ang mga string na may isang halimbawa.

string s1; s1 = "Kumusta"; string s2 ("Magandang umaga"); string s3 = "Hennery"; string s4;

Sa deklarasyon sa itaas, ipinahayag ang apat na variable variable o mga bagay (s1, s2, s3, s4). Sa itaas na deklarasyon, ipinakita ko ang tatlong paraan ng pagsisimula ng string. Ang string s1 ay ipinahayag at pagkatapos ay hiwalay na nauna. Ang string s2 ay sinisimulan ng tagapagtayo ng klase na "String". Ang string s3 ay sinisimulan sa oras ng pagpapahayag nito bilang normal na uri ng data. Maaari naming ilapat ang karaniwang operator sa mga variable ng string.

s4 = s1; // nagtatalaga ng isang object ng string sa iba pang mga s4 = s1 + s2; // pagdaragdag ng dalawang string at pag-iimbak ng resulta sa ikatlong string kung (s3> s2) // paghahambing ng dalawang mga string ng s5 (s1); paglikha ng isang bagong bagay na string gamit ang umiiral na object ng string

Sa itaas na code, ang iba't ibang mga operator ay inilalapat sa isang string at iba't ibang mga operasyon ay isinasagawa. Ang unang pahayag ay kinokopya ang isang object ng string sa isa pang object ng string. Sa pangalawang pahayag, ang dalawang string ay pinagsama at nakaimbak sa isang pangatlong string. Sa ikatlong pahayag, ang dalawang string ay inihambing. Sa ika-apat na pahayag, ang isang bagong object ng string ay nilikha gamit ang mayroon nang string object.

Ang pag-access sa string ay mabagal kumpara sa isang array ng character o null na natapos na string.

Pangunahing Pagkakaiba sa pagitan ng Character Array at String

  1. Ang isang array ng character ay isang koleksyon ng mga variable na ng mga datatype ng character. Ang String ay isang klase na agad na nagpapahayag ng mga string.
  2. Gamit ang index halaga maaari mong ma-access ang isang character mula sa isang array ng character. Sa kabilang dako, kung nais mong ma-access ang isang partikular na karakter sa isang string, maaari mong ma-access ito sa pamamagitan ng function string's_name.charAt (index).
  3. Bilang isang array ay hindi isang datatype na katulad ng isang character din ay hindi isang datatype. Sa kabilang banda, ang String bilang isang klase ay kumikilos bilang isang uri ng sanggunian, masasabi na ang String ay isang uri ng data.
  4. Hindi ka maaaring mag-aplay ng anumang operator sa isang array ng character samantalang, maaari kang mag-aplay ng mga operator sa String.
  5. Ang pagiging isang array ng character na character ay may isang nakapirming haba at ang mga hangganan nito ay madaling maabutan. Kung saan walang mga hangganan si String.
  6. Ang mga elemento ng Array ay naka-imbak sa isang magkakasamang lokasyon ng memorya samakatuwid ay maaaring ma-access nang mas mabilis kaysa sa variable variable.

Konklusyon:

Kawalan ng kakayahan upang gumana sa hanay ng character na itinaas ang pag-unlad ng standard na klase ng string.