*   >> Lezen Onderwijs artikelen >> science >> programming

Een diepgaande blik in C ++ Core String

's'; * (++ str) = 't'; * (++ str) = 'r'; * (++ str) = 'i'; * (++ str) = 'n'; * (++ str) = 'g'; * (++ str) = '\\ 0'; --str; --str; --str; --str; --str; --str; cout 0 terug; } In de code, de pointer naar een char eerst verklaard. Vervolgens wordt de waarde van de pointer wordt gemaakt is. De pointer wordt verhoogd meerdere malen, en elke increment wordt een char toegewezen. '\\ 0' wordt toegewezen aan de laatste stap. Je hebt nu een doorlopende reeks in het geheugen met het woord, "string"; aan het eind van dit woord, heb je '\\ 0'.

Hierna wordt de wijzer verlaagd wijzen op de eerste letter "s" in de string. De cout object uit de iostream header is ontworpen zodanig dat de wijzer naar een char zou nemen en weer te geven tekens beginnend vanaf die pointer nadat zij inzage \\ 0. Dat is wat de één na laatste verklaring in de bovenstaande code doet. Probeer de code. Array en Core String Een array kan worden gebruikt om een ​​kern-tekenreeks. De naam van een array is een constante pointer. In tegenstelling tot de wijzer we hierboven zagen, kunt u niet de naam matrix te verhogen, omdat het constant.

U kunt echter wel een kern string met behulp van een array te definiëren. We zagen boven dat een string is een reeks van karakters in opeenvolgende geheugencellen en het laatste teken (char) van deze cellen \\ 0. Dus om een ​​array om een ​​string te definiëren, laat de array een array van karakters; het laatste teken van de array moet een \\ 0. De volgende code illustreert dit: #include using namespace std; int main () {char str [] = {'a', '' 's', 't', 'r', 'i', 'n', 'g', '\\ 0'}; cout 0 terug; } De waarde van de tekenreeks "een string".

Merk op dat om een ​​ruimte een karaktertype I, '' hebben. Getypt een ruimte in enkele aanhalingstekens. In het geheugen zal die ruimte worden vertegenwoordigd door een stukje code van één byte lang. Opmerking: De arraynaam is een pointer (constante pointer) die naar het eerste element van de matrix (in dit geval, van tekens). De cout object sturen alle karakters begin van de pointer, totdat hij ziet \\ 0. Een String van Constant Content Wanneer u een string tussen dubbele aanhalingstekens in C ++, dat (tekst in dubbele aanhalingstekens) type heet een letterlijke tekenreeks.

Een lege string literal is het openen en sluiten van dubbele aanhalingstekens gewoon naast elkaar. De dubbele aanhalingstekens (leeg of niet) geeft een pointer naar het eerste teken van een string waarvan de inhoud is constant. De volgende code illustreert dit: #

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.