C-ohjelmoinnissa String on 1-D merkkijono ja se määritellään merkkijonoksi. Mutta C:n merkkijonojoukko on kaksiulotteinen merkkityyppien joukko. Jokainen merkkijono päätetään nollamerkillä ( ). Se on 2d-taulukon sovellus.
Syntaksi:
ascii-taulukko c
char variable_name[r] = {list of string};> Tässä,
- var_nimi on C:n muuttujan nimi. r on merkkijonoarvojen enimmäismäärä, joka voidaan tallentaa merkkijonotaulukkoon. c on merkkiarvojen enimmäismäärä, joka voidaan tallentaa kuhunkin merkkijonotaulukkoon.
Esimerkki:
C
// C Program to print Array> // of strings> #include> // Driver code> int> main()> {> >char> arr[3][10] = {>'Geek'>,> >'Geeks'>,>'Geekfor'>};> >printf>(>'String array Elements are:
'>);> > >for> (>int> i = 0; i <3; i++)> >{> >printf>(>'%s
'>, arr[i]);> >}> >return> 0;> }> |
>
bash while -silmukka
>Lähtö
String array Elements are: Geek Geeks Geekfor>
Alla on esitys yllä olevasta ohjelmasta
Meillä on 3 riviä ja 10 saraketta määritettynä Array of Stringissa, mutta johtuen ennalta määritellystä merkkijonotaulukon koosta tilankulutus on suuri. Joten, jotta voimme välttää suuren tilankulutuksen ohjelmassamme, voimme käyttää osoittimia C:ssä.
Virheelliset toiminnot merkkijonotaulukoissa
Emme voi suoraan muuttaa tai määrittää arvoja C:n merkkijonojoukolle.
Esimerkki:
char arr[3][10] = {'Geek', 'Geeks', 'Geekfor'};> Tässä arr[0] = GFG; // Tämä antaa virheilmoituksen, jossa sanotaan, että lauseke määritetään taulukkotyypillä.
dynaaminen ohjelmointi
Arvojen muuttamiseksi voimme käyttää strcpy()-funktiota C:ssä
strcpy(arr[0],'GFG'); // This will copy the value to the arr[0].>
Joukko osoittimia
C:ssä voimme käyttää osoittimien taulukkoa. Kaksiulotteisen merkkijonon sijaan meillä voi olla yksiulotteinen osoittimien matriisi. Tässä tallennetaan osoitin merkkijonoliteraalin ensimmäiseen merkkiin.
Syntaksi:
char *arr[] = { 'Geek', 'Geeks', 'Geekfor' };>
Alla on C-ohjelma osoittimien joukon tulostamiseksi:
C
sql ddl -komennot
// C Program to print Array> // of Pointers> #include> // Driver code> int> main()> {> >char> *arr[] = {>'Geek'>,>'Geeks'>,>'Geekfor'>};> >printf>(>'String array Elements are:
'>);> > >for> (>int> i = 0; i <3; i++)> >{> >printf>(>'%s
'>, arr[i]);> >}> >return> 0;> }> |
>
>Lähtö
String array Elements are: Geek Geeks Geekfor>