Array og Core String En matrise kan brukes til å definere en kjernestreng. Navnet på en matrise er en konstant peker. I motsetning pekeren vi så ovenfor, kan du ikke øke rekken navn fordi den er konstant. Du kan imidlertid definere en kjerne streng ved hjelp av en matrise. Vi har sett at en streng er en serie av tegn i påfølgende minneceller og siste tegn (char) av disse cellene er \\ 0. Så for å bruke en matrise for å definere en streng, la matrisen være en rekke tegn; det siste tegnet av tabellen bør være en \\ 0.
Følgende kode illustrerer dette: # include bruker namespace std; int main () {char str [] = {'a', '', 's', 't', 'r', 'i', 'n', 'g', '\\ 0'}; domstol returnere 0; } Verdien av strengen er "en streng". Legg merke til at for å få en plass som et tegn jeg typen, ''. Skrev en plass i enkle anførselstegn. I minnet at plassen vil være representert med et stykke kode for en byte lengde. Merk: Matrisen navn er en peker (konstant pekeren) som peker til det første element i matrisen (i dette tilfelle, av tegn). Den domstol objektet vil sende ut alle tegnene begynner fra pekeren, til den ser \\ 0.
En String of Constant innhold Når du skriver en streng i anførselstegn i C ++, som (tekst i anførselstegn) kalles en streng bokstavelig. En tom streng bokstavelig er åpning og lukking doble anførselstegn bare ved siden av hverandre. De doble anførselstegn (enten tom eller ikke) returnerer en peker til det første tegnet i en streng hvis innhold er konstant. Følgende kode illustrerer dette: # include bruker namespace std; int main () {const char * str = "a string"; domstol returnere 0; } Du må tilordne returverdien av de doble anførselstegn til en const char *.
const char * betyr at innholdet av objektet pekt på av pekeren, er konstant. I koden, er innholdet "en streng". I minnet, er plassen en bytekode. Også i minne, serier av tegn som danner strengen slutter med \\ 0 (som ikke ville bli vist).