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

Core String In C

et coderen van een reeks door het invullen van een array met elementen en eindigend met '\\ 0' is niet handig voor de programmeur. Zodat de uitvinders van C besloten om 1) de plaats van de char array-blok, dat eindigt met de nul-karakter met een string tussen dubbele aanhalingstekens. 2) De getypte string tussen dubbele aanhalingstekens geeft een pointer (geheugen adres) naar het eerste element van de vervangen array. 3) Deze pointer is de string aanwijzer en een context (bijvoorbeeld printf functie) kan het gebruiken om een ​​string terug.

4) De geretourneerde pointer uit de aanhalingstekens, kan worden gebruikt bij de initialisatie van een char pointer naar een string te maken. De volgende code illustreert deze: #include int main () {char * herStr = "de vrouw"; printf (herStr); 0 terug; } Lees en probeer de bovenstaande code als je dat nog niet hebt gedaan. Merk op dat in de initialisatie van pointers van andere objecten, de rechter operand geeft het adres (bv & myInt) van een object. Iets dergelijks is hier gebeurd. Een adres is een pointer.

U kunt de initialisatie splitsen in verklaring en toewijzing zoals in de volgende code: #include int main () {char * herStr; herStr = "de vrouw"; printf (herStr); 0 terug; } Op dit punt kan je je afvragen hoe de printf () functie en de argumenten (items tussen haakjes) te gebruiken; maak je geen zorgen, zullen we de printf functie later in de serie te bestuderen. Letterlijke tekenreeks Een tekenreeks tussen dubbele aanhalingstekens wordt een letterlijke tekenreeks. Het verhogen en verlagen van String Pointer Strikt genomen is er geen snaar pointer.

Echter, als je initialiseren (of te verklaren en toe te wijzen) een string in de bovenstaande situaties, dan kun je zeggen dat je een string wijzer. Je kan verhogen of verlagen de aanwijzer (adres in de pointer object) wijzen op de volgende of vorige teken (object) in de string, aangezien de string wordt opgeslagen als een array (eindigend \\ 0) in het geheugen.

Lees en probeer de volgende code, die dit illustreert: #include int main () {char * herStr = "de vrouw"; printf ("% c", * herStr); printf ("\\ n"); ++ herStr; printf ("% c", * herStr); printf ("\\ n"); ++ herStr; printf ("% c", * herStr); printf ("\\ n"); 0 terug; } De waarde (char) krijgt aangewezen door de string aanwijzer het dereference operator (*) wordt gebruikt. Constant Pointer een String Een constante pointer naar een string wijst naar het eerste teken van de snaar en de pointer (adres in de pointer objec

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