fork(1) download
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdarg.h>
  4.  
  5. void initarray(int*d,int n,...)
  6. {
  7. va_list v;
  8. va_start(v,n);
  9. for(int i=0;n--;) d[i++]=va_arg(v,int);
  10. va_end(v);
  11. }
  12.  
  13. int main()
  14. {
  15. int v[3]; /* Zielarray */
  16. typedef struct{int i[3];} I3; /* Hilfstyp für struct-Kopie */
  17.  
  18. { int x[3]={1,2,3}; *(I3*)v=*(I3*)x; }
  19. printf("%d%d%d\n",*v,v[1],v[2]);
  20.  
  21. { int x[3]={4,5,6}; memcpy(v,x,sizeof v); }
  22. printf("%d%d%d\n",*v,v[1],v[2]);
  23.  
  24. *(I3*)v=*(I3*)(int[3]){7,8,9};
  25. printf("%d%d%d\n",*v,v[1],v[2]);
  26.  
  27. memcpy(v,(int[3]){4,4,4},sizeof v);
  28. printf("%d%d%d\n",*v,v[1],v[2]);
  29.  
  30. initarray(v,3,9,9,9);
  31. printf("%d%d%d\n",*v,v[1],v[2]);
  32.  
  33. return 0;
  34. }
  35.  
Success #stdin #stdout 0s 2156KB
stdin
Standard input is empty
stdout
123
456
789
444
999