Tunniste Tunnistinten tuloksena matriisi on tunniste merkkijono. Lue ja yrittää seuraava koodi, joka valaisee tätä: # include int main () {char myStr [] = {"t", "h", "e", "", "m", "", "n", '\\ 0'}; printf (myStr); palata 0; } Huomaa, että tunniste, myStr vuonna printf toiminto ei ole lainausmerkeissä. Koodissa, viimeinen osa array on null merkki. Se on puolilainausmerkkejä kuten muutkin merkkiä.
Nyt array nimi, joka piti olla tunniste vakio osoitin ensimmäinen osa (kohde) array ja pitäisi palata osoitteen ensimmäinen elementti (kohde) array, nyt palauttaa merkkijonon (merkkiä array ), kun se asetetaan tietyssä kontekstissa, koska joukko on tehty merkkiä ja se päättyy '\\ 0'. Kaikki merkit array palautetaan paitsi null merkki. Tavallisesti osoitin ei pitäisi palauttaa mitään arvoa terävällä esineellä tai teräviä esineitä.
Edellä mainituissa koodi, printf toiminto (yhteydessä) on ollut suunnittelu siten, että jos se saa osoitin joukko merkkiä päättyvät, \\ 0 se tulee palauttaa kaikki merkit pakassa paitsi päättyy \\ 0. Tällainen osoitin osoittaa yhä ensimmäistä alkiota, mutta konteksti (printf toiminto) voivat käyttää sitä saadakseen kaikki merkit jono. Jatkamme. Silti koodaus merkkijono täyttämällä array elementtejä ja päättyy sen, '\\ 0' ei ole kätevä ohjelmoija. Joten Keksijät C päätti 1) korvaa char array lohko, joka päättyy null merkin merkkijono lainausmerkkeihin.
2) kirjoitettu merkkijono lainausmerkkeihin palauttaa osoittimen (muistiosoite) ensimmäiseen osa korvataan array. 3) Tämä osoitin on merkkijono osoitin ja konteksti (esim printf toiminto) voi käyttää sitä palauttaa merkkijonon. 4) palasi osoittimen lainausmerkkeihin, voidaan käyttää alustuksen char osoitin luoda merkkijono. Seuraava koodi havainnollistaa näitä: # include int main () {char * herStr = "nainen"; printf (herStr); palata 0; } Lue ja yrittää edellä koodi, jos et ole jo tehnyt niin.
Huomaa, että alustuksen viitteitä muiden obj