/* Merkkijonotaulukot */ #include int main() { int i,j; /* Merkkijonoista koostuva taulukko voidaan luoda seuraavasti. * Kääntäjä laskee pisimmän merkkijonon pituuden, tässä 4, ja * varaa tilaa tarpeeksi suurelle merkkitaulukolle (mukaan myös * merkkijonojen loppumerkit), eli char strings[4][5] * * Merkintä char *a[] tarkoittaa taulukkoa, jonka alkiot ovat * char-tyyppisiä pointtereita. Jokainen pointteri on char-tyyppisen * taulukon 1. alkion osoite. Osoitteiden arvot riippuvat annettujen * merkkijonojen pituudesta. Huom. Tämä on mahdollista vain, jos * taulukko alustetaan luomisen yhteydessä. */ char *strings[] = {"a","ab","abc","abcd"}; /* strings on siis 2-ulotteinen taulukko. Sen jokainen vaakarivi * on 1-ulotteinen merkkitaulukko, ja niitä voidaan käsitellä * kuten muitakin merkkijonoja. */ printf("%s\n",strings[3]); /* Tulostetaan taulukon sisältö merkki kerrallaan. Jokainen taulukon * merkkijono päätttyy lopetusmerkkiin, ja sen jälkeen tulevat merkit * riippuvat ajokerrasta. */ for(i=0;i<4;i++) { for(j=0;j<5;j++) { printf("%4c",strings[i][j]); } printf("\n"); } printf("\n"); /* Tulostetaan vastaavat merkistökoodauksen luvut. */ for(i=0;i<4;i++) { for(j=0;j<5;j++) { printf("%4i",strings[i][j]); } printf("\n"); } return 0; }