Lisäävä ja pienentämällä String Pointer Tarkkaan ottaen ei ole merkkijono osoitin. Kuitenkin, jos alustaa (tai julistaa ja määrittää) merkkijonon Edellä mainituissa tilanteissa, niin voit sanoa sinulla merkkijono osoitin. Voit suurentamiseksi tai pienentämiseksi osoitin (osoite osoitin objekti) osoittamaan seuraavaan tai edelliseen merkkiin (objekti) merkkijonon, koska merkkijono tallennetaan kuten array (päättyen \\ 0) muistiin.
Lue ja yrittää seuraava koodi, joka kuvaa tätä: # include int main () {char * herStr = "nainen"; printf ("% c", * herStr); printf ("\\ n"); ++ HerStr; printf ("% c", * herStr); printf ("\\ n"); ++ HerStr; printf ("% c", * herStr); printf ("\\ n"); palata 0; } Saada arvon (char) osoitteen sivulle merkkijono osoitin, epäviittausongelman operaattori (*) käytetään. Jatkuva Osoitin String vakio osoitin merkkijono pistettä ensimmäisen merkin merkkijono ja osoitin (osoite osoitin kohde) ei voi olla muutos. Tämä tarkoittaa osoitetta ei voi kasvatetaan tai pienennetään.
Seuraavat kaksi lausunnot osoittavat, miten voit luoda vakio osoitin merkkijono: char myStr [] = {"t", "h", "e", "", "m", "", "n", " \\ 0 '}; char * const myStr = "mies"; Kumpikin näistä vakio viitteitä palaisi koko merkkijonon, tietyssä yhteydessä (printf toiminto), mutta et voi lisäyksen tai vähennyksen sen. Jos toisessa tapauksessa, sinulla on vain luonteeltaan osoitin sijasta vakio merkin osoitin, niin sinulla olisi mahdollisuus suurentamiseksi tai pienentämiseksi osoitin.
Coding Very Long Strings On mahdollista saada merkkijonon, joka on hyvin pitkä ja koodaus se tarkoita että se on otettava enemmän kuin yksi. Tulet koodata se kuvan seuraavassa esimerkissä. Lue ja kokeilla sitä. #include int main () {char * longStr = "Tämä on hyvin pitkä jono" ", joka vie enemmän kuin yhden rivin" "kirjoittaa lähdekoodia."; printf (longStr); palata 0; } Jokainen osa merkkijonon, joka on linja on lainausmerkkeihin. Vain viimeinen osa merkkijonoa seura