Compont Literals in C aka Anonymous arrays
authorMarkus Bröker <mbroeker@largo.dyndns.tv>
Tue, 13 Oct 2009 19:03:36 +0200
changeset 108 d6a52e0152fb
parent 107 244356bc3a20
child 109 3d84eda3f16f
Compont Literals in C aka Anonymous arrays committer: Markus Bröker <mbroeker@largo.homelinux.org>
Makefile
compliteral.c
--- 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
 
new file mode 100644
--- /dev/null
+++ b/compliteral.c
@@ -0,0 +1,26 @@
+/**
+ * Compont literals in C aka anonymous arrays
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+
+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;
+}