/*
 * dynamická pole a struktury
 */
#include <stdio.h>
#include <stdlib.h>

int i, A[pocet], *p;

struct zak {
  char jm[20];
  int vy;
} z = {"Josef Klimes",150};
struct zak *q;

int main(void) {
  for (i=0; i<pocet; i++) A[i]=(i+1)*7;
  for (i=0; i<pocet; i++) printf("%d ", A[i]); putchar('\n');

  p = malloc(pocet*sizeof(int));
  for (i=0; i<pocet; i++) *(p+i) = (i+1)*5;
  for (i=0; i<pocet; i++) printf("%d ", *(p+i)); putchar('\n');

  for (i=0; i<pocet; i++) printf("%d ", p[i]); putchar('\n');
  for (i=0; i<pocet; i++) printf("%d ", *(A+i)); putchar('\n');
  free(p);

  printf("%s ... %d Kc\n", z.jm, z.vy);
  printf("sizeof(struct zak)=%d\n", sizeof(struct zak));
  q = malloc(sizeof(struct zak));
  *q = z;
  printf("%s ... %d Kc\n", (*q).jm, (*q).vy);
  printf("%s ... %d Kc\n", q->jm, q->vy);
  free(q);
  return 0;
}