fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. void teste(char texto[10]) {
  6. strcpy(texto, "Ponteiro"); //isto não é seguro, mas sabemos que funciona neste caso
  7. }
  8.  
  9. char *teste2() {
  10. char *texto = malloc(10);
  11. if (texto != NULL) strcpy(texto, "Ponteiro"); //neste caso dá para eliminar isto, deixai porque o normal é fazer assim
  12. return texto;
  13. }
  14.  
  15. int main () {
  16. char texto[10];
  17. teste(texto);
  18. printf("\nRESULTADO: %s\n", texto);
  19. //segunda forma não recomendada
  20. char *texto2 = teste2();
  21. if (texto2 != NULL) {
  22. printf("\nRESULTADO: %s\n", texto2);
  23. free(texto2); //tem que librar a memória que foi alocada por outra função
  24. }
  25. }
  26.  
  27. //https://pt.stackoverflow.com/q/252163/101
Success #stdin #stdout 0s 10320KB
stdin
Standard input is empty
stdout
RESULTADO: Ponteiro

RESULTADO: Ponteiro