2005-08-26 04:48:05 +00:00
|
|
|
|
|
|
|
typedef struct { int codes[3]; char name[6]; } Word;
|
|
|
|
|
|
|
|
Word words[] = {
|
|
|
|
1, 2, 3, "if",
|
|
|
|
{ { 4, 5 }, { 'f', 'o', 'r' } },
|
|
|
|
6, 7, 8, {"else"},
|
|
|
|
{ { 9, 10, 11,}, 'w', 'h', 'i', 'l', 'e', },
|
|
|
|
{ 0 },
|
|
|
|
}, *wordlist = words;
|
|
|
|
|
|
|
|
int x[][5] = { 1, 2, 3, 4, 0, { 5, 6 }, { 7 } };
|
|
|
|
int *y[] = { x[0], x[1], x[2], 0 };
|
|
|
|
|
|
|
|
|
|
|
|
main()
|
|
|
|
{
|
|
|
|
int i, j;
|
|
|
|
|
|
|
|
for (i = 0; y[i]; i++) {
|
|
|
|
for (j = 0; y[i][j]; j++)
|
|
|
|
printf(" %d", y[i][j]);
|
|
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
f();
|
|
|
|
g(wordlist);
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
f() {
|
|
|
|
static char *keywords[] = {"if", "for", "else", "while", 0, };
|
|
|
|
char **p;
|
|
|
|
|
|
|
|
for (p = keywords; *p; p++)
|
|
|
|
printf("%s\n", *p);
|
|
|
|
}
|
|
|
|
|
|
|
|
g(p)
|
|
|
|
Word *p;
|
|
|
|
{
|
|
|
|
int i;
|
|
|
|
|
|
|
|
for ( ; p->codes[0]; p++) {
|
|
|
|
for (i = 0; i < sizeof p->codes/sizeof(p->codes[0]); i++)
|
|
|
|
printf("%d ", p->codes[i]);
|
|
|
|
printf("%s\n", p->name);
|
|
|
|
}
|
|
|
|
h();
|
|
|
|
}
|
|
|
|
|
|
|
|
h()
|
|
|
|
{
|
|
|
|
int i;
|
|
|
|
|
|
|
|
for (i = 0; i < sizeof(words)/sizeof(Word); i++)
|
|
|
|
printf("%d %d %d %s\n", words[i].codes[0],
|
|
|
|
words[i].codes[1], words[i].codes[2],
|
|
|
|
&words[i].name[0]);
|
|
|
|
}
|