fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. char **return10char_pointer(const char *name);
  5.  
  6. int main(void){
  7. char *name = "orange";
  8. char **A = return10char_pointer(name);
  9.  
  10. printf("Check stored values in A\n");
  11. for (int k = 0, n = 10; k < n; k++) {
  12. printf("%s\n", A[k]);
  13. free(A[k]);
  14. }
  15. free(A);
  16. return 0;
  17. }
  18.  
  19. char **return10char_pointer(const char *name){
  20. int k, n = 10;
  21. char **A = malloc(n * sizeof(*A));//omit check return value of malloc
  22.  
  23. printf("Store values in A\n");
  24. for (k = 0; k < n; k++) {
  25. size_t size = sizeof(char[100]);
  26. char *string = malloc(size);//omit check return value of malloc
  27.  
  28. snprintf(string, size, "Numer of %s are: %i", name, k);
  29. A[k] = string;
  30. printf("%s\n", A[k]);
  31. }
  32. printf("--------------------------\n");
  33. return A;
  34. }
Success #stdin #stdout 0s 9424KB
stdin
Standard input is empty
stdout
Store values in A
Numer of orange are: 0
Numer of orange are: 1
Numer of orange are: 2
Numer of orange are: 3
Numer of orange are: 4
Numer of orange are: 5
Numer of orange are: 6
Numer of orange are: 7
Numer of orange are: 8
Numer of orange are: 9
--------------------------
Check stored values in A
Numer of orange are: 0
Numer of orange are: 1
Numer of orange are: 2
Numer of orange are: 3
Numer of orange are: 4
Numer of orange are: 5
Numer of orange are: 6
Numer of orange are: 7
Numer of orange are: 8
Numer of orange are: 9