70-array-in-struct-init.c 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /* -*-comment-start: "//";comment-end:""-*-
  2. * GNU Mes --- Maxwell Equations of Software
  3. * Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
  4. *
  5. * This file is part of GNU Mes.
  6. *
  7. * GNU Mes is free software; you can redistribute it and/or modify it
  8. * under the terms of the GNU General Public License as published by
  9. * the Free Software Foundation; either version 3 of the License, or (at
  10. * your option) any later version.
  11. *
  12. * GNU Mes is distributed in the hope that it will be useful, but
  13. * WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
  19. */
  20. #include <mes/lib.h>
  21. struct foo
  22. {
  23. int field;
  24. int array[3];
  25. };
  26. struct foo foes[] =
  27. {
  28. {10, {11, 12, 13}},
  29. {20, {21, 22}},
  30. {30, {31}},
  31. {40, {41}},
  32. {0}
  33. };
  34. int
  35. main ()
  36. {
  37. for (struct foo *p = foes; p->field; p++)
  38. {
  39. oputs ("{");
  40. oputs (itoa (p->field)); oputs (",");
  41. oputs ("{");
  42. oputs (itoa (p->array[0])); oputs (",");
  43. oputs (itoa (p->array[1])); oputs (",");
  44. oputs (itoa (p->array[2]));
  45. oputs ("}");
  46. oputs ("},\n");
  47. }
  48. oputs ("{0}\n");
  49. oputs ("};\n");
  50. return 0;
  51. }