Array och Core String En array kan användas för att definiera en kärnsträngen. Namnet på en array är en konstant pekare. Till skillnad från pekaren vi såg ovan, kan du inte öka arrayen namn eftersom den är konstant. Däremot kan du definiera en kärnsträngen med hjälp av en array. Vi såg ovan att en sträng är en serie av tecken i minnesceller i följd och det sista tecknet (char) av dessa celler är \\ 0. Så för att använda en matris för att definiera en sträng, låt matrisen vara en array av tecken; det sista tecknet i matrisen bör vara en \\ 0.
Följande kod illustrerar detta: #include using namespace std; int main () {char str [] = {'a', '', "s", "t", "r", "i", "n", "g", "\\ 0 '}; cout återvända 0; } Värdet på strängen är "en sträng". Observera att för att få en plats som ett tecken som jag typ, ''. Skrivna ett utrymme i enkla citattecken. Till minne att rymden kommer att representeras av en bit kod av ett byte längd. Obs! Array Namnet är en pekare (konstant pekare) som pekar på det första elementet i arrayen (i detta fall, av tecken). Cout objektet kommer att skicka ut alla tecken med början från pekaren tills den ser \\ 0.
En sträng av konstant innehåll När du skriver en sträng inom citationstecken i C ++, som (text inom citattecken) kallas en stränglitteral. En tom stränglitteral är öppning och stängning dubbla citationstecken precis bredvid varandra. De dubbla citattecken (även tom eller inte) returnerar en pekare till det första tecknet i en sträng vars innehåll är konstant. Följande kod illustrerar detta: #include using namespace std; int main () {const char * str = "en sträng"; cout återvända 0; } Du måste tilldela returvärdet av de dubbla citattecken till en const char *.
const char * betyder att innehållet av objektet pekas på av pekaren, är konstant. I koden, är innehållet "en sträng". Till minne, är utrymmet en bytekod. Också, i minnet, den serie av tecken som bildar strängen avslutas med \\ 0 (som inte skulle visas