Advertisement
Guest User

Untitled

a guest
Sep 7th, 2017
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.66 KB | None | 0 0
  1. typedef struct
  2. {
  3.     double *a;
  4.     double *b;
  5. } my_struct;
  6.  
  7. int delete_my_struct(my_struct st)
  8. {
  9.     free(st.a);
  10.     free(st.b);
  11. }
  12.  
  13. int main()
  14. {
  15.     double a[] = {1,2},
  16.         b[] = {3,4};
  17.     my_struct st = {a, b};
  18.     free(st); // Ошибка.
  19.     double *c = malloc(2 * sizeof(double));
  20.     double *d = malloc(2 * sizeof(double));
  21.     my_struct st2 = {c, d};
  22.     free(st); // все сработает.
  23.     // Хотелось бы, чтобы программа не ломалась, а, например,
  24.     // очищала что может очистить и возвращала код ошибки, что
  25.     // такое-то поле не может быть очищено.
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement