#include <stdlib.h>
#include <stdio.h>
//Textarrays (wie z.B argv von main)
char *deutsch[] = { "Hallo", "Welt", "!", NULL};
char *english[] = { "Hello", "World!", NULL};
void textout(char **ppc) // Doppelzeiger
{ while (*ppc != NULL)
{ printf("1.Zeichen: %c. Text: %s\n", *ppc
[0], *ppc
); ++ppc;
}
}
void settext(char ***pppc, int i)
// einen Doppelzeiger aus einer Funktion heraus ändern
// das würde man anders lösen, ist ja nur ein Beispiel
{
if (i == 0)
*pppc = deutsch;
if (i == 1)
*pppc = english;
}
int main (int argc, char ** argv)
{
char **ppc;
ppc = deutsch;
textout(ppc);
settext(&ppc,1);
textout(ppc);
return 0;
}
I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RkaW8uaD4KCi8vVGV4dGFycmF5cyAod2llIHouQiBhcmd2IHZvbiBtYWluKQpjaGFyICpkZXV0c2NoW10gPSB7ICJIYWxsbyIsICJXZWx0IiwgIiEiLCBOVUxMfTsKY2hhciAqZW5nbGlzaFtdID0geyAiSGVsbG8iLCAiV29ybGQhIiwgTlVMTH07Cgp2b2lkIHRleHRvdXQoY2hhciAqKnBwYykgIC8vIERvcHBlbHplaWdlcgp7IHdoaWxlICgqcHBjICE9IE5VTEwpCiAgeyBwcmludGYoIjEuWmVpY2hlbjogJWMuIFRleHQ6ICVzXG4iLCAqcHBjWzBdLCAqcHBjKTsKICAgICsrcHBjOwogIH0KfQoKdm9pZCBzZXR0ZXh0KGNoYXIgKioqcHBwYywgaW50IGkpCi8vIGVpbmVuIERvcHBlbHplaWdlciBhdXMgZWluZXIgRnVua3Rpb24gaGVyYXVzIMOkbmRlcm4KLy8gZGFzIHfDvHJkZSBtYW4gYW5kZXJzIGzDtnNlbiwgaXN0IGphIG51ciBlaW4gQmVpc3BpZWwKeyAKICBpZiAoaSA9PSAwKSAKICAgICpwcHBjID0gZGV1dHNjaDsKICBpZiAoaSA9PSAxKSAKICAgICpwcHBjID0gZW5nbGlzaDsKfQoKCmludCBtYWluIChpbnQgYXJnYywgY2hhciAqKiBhcmd2KQp7CiAgY2hhciAqKnBwYzsKCiAgcHBjID0gZGV1dHNjaDsKICB0ZXh0b3V0KHBwYyk7CgogIHNldHRleHQoJnBwYywxKTsKICB0ZXh0b3V0KHBwYyk7CgogIHJldHVybiAwOwp9Cg==