fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main()
  6. {
  7. char *cp_0 = "asd";
  8. char *cp_1 = "123";
  9. char *cp_2 = "zxc";
  10. char *cp_3 = "qaz";
  11. char *cp_4 = "wsx";
  12. char **cp;
  13. char **temp;
  14. int i;
  15.  
  16. // 最初
  17. cp = (char **) malloc(3 * sizeof(char *));
  18. cp[0] = cp_0;
  19. cp[1] = cp_1;
  20. cp[2] = cp_2;
  21.  
  22. // 2個増える
  23. temp = (char **) malloc((3 + 2) * sizeof(char *));
  24. memcpy(temp, cp, 3 * sizeof(char *));
  25. free(cp);
  26. cp = temp;
  27. cp[3] = cp_3;
  28. cp[4] = cp_4;
  29.  
  30. // 表示
  31. for (i = 0; i < 5; i++) {
  32. printf("%d %s\n", i, cp[i]);
  33. }
  34.  
  35. // 解放
  36. free(cp);
  37.  
  38. // 終了
  39. return 0;
  40. }
  41.  
Success #stdin #stdout 0.01s 1808KB
stdin
Standard input is empty
stdout
0 asd
1 123
2 zxc
3 qaz
4 wsx