fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct { char value[10]; } TArray10b;
  5.  
  6. int main() {
  7. TArray10b a, b;
  8.  
  9. srand(0);
  10.  
  11. for (int i = 0; i < 10; i += 1) {
  12. char r = (char) rand();
  13. printf("a[%i] = %i\n", i, r);
  14. a.value[i] = r;
  15. }
  16.  
  17. b = a;
  18.  
  19. putchar('\n');
  20. for (int i = 0; i < 10; i += 1) {
  21. printf("b[%i] = %i\n", i, b.value[i]);
  22. }
  23.  
  24. // Проверяем, что мы скопировали весь массив, а не указатель
  25. a.value[0] = -a.value[0];
  26. putchar('\n');
  27. printf("a[0] = %i\n", a.value[0]);
  28. printf("b[0] = %i\n", b.value[0]);
  29. }
  30.  
Success #stdin #stdout 0s 9432KB
stdin
Standard input is empty
stdout
a[0] = 103
a[1] = -58
a[2] = 105
a[3] = 115
a[4] = 81
a[5] = -1
a[6] = 74
a[7] = -20
a[8] = 41
a[9] = -51

b[0] = 103
b[1] = -58
b[2] = 105
b[3] = 115
b[4] = 81
b[5] = -1
b[6] = 74
b[7] = -20
b[8] = 41
b[9] = -51

a[0] = -103
b[0] = 103