# HG changeset patch # User Markus Bröker # Date 1255453416 -7200 # Node ID d6a52e0152fb96cb3200260c76e5fbb2ccb5950c # Parent 244356bc3a2015afdadeb9cae7db4e1fae3142a5 Compont Literals in C aka Anonymous arrays committer: Markus Bröker diff --git a/Makefile b/Makefile --- a/Makefile +++ b/Makefile @@ -68,6 +68,8 @@ TARGET += nearest TARGET += cppdatabase TARGET += pipe +TARGET += compliteral + .SUFFIXES: .c .cc .asm @@ -327,6 +329,10 @@ @echo Linking $<... @$(CC) -Wall -O2 -g -ggdb $< -o $@ +compliteral: compliteral.o + @echo Linking $<... + @$(CC) -Wall -O2 -g -ggdb $< -o $@ + .PHONY: beauty clean uninstall diff --git a/compliteral.c b/compliteral.c new file mode 100644 --- /dev/null +++ b/compliteral.c @@ -0,0 +1,26 @@ +/** + * Compont literals in C aka anonymous arrays + * + */ + +#include +#include +#include + +static void show (char *arr[]) +{ + int i = 0; + + assert (arr != NULL); + while (arr[i] != NULL) { + printf ("arr[%d] = %s\n", i, arr[i]); + i++; + } +} + +int main (int argc, char **argv) +{ + show ((char *[]) { + "Here", "we", "go", "again", NULL}); + return EXIT_SUCCESS; +}