fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define SUCESSO 0
  5. #define FALHA -1
  6.  
  7. typedef struct {
  8. int x;
  9. int y;
  10. } Ponto;
  11.  
  12. void criarPonto(Ponto **ponto) {
  13. (*ponto) = (Ponto *)NULL;
  14. }
  15.  
  16. int preencherPonto(Ponto **ponto, int x, int y) {
  17. *ponto = malloc(sizeof(Ponto));
  18. if (*ponto == NULL) return FALHA;
  19. (*ponto)->x = x;
  20. (*ponto)->y = y;
  21. return SUCESSO;
  22. }
  23. int main() {
  24. Ponto *ponto;
  25. criarPonto(&ponto);
  26. printf("O endereco de memoria é: %p\n", (void *)ponto);
  27. if (preencherPonto(&ponto, 0, 1) == FALHA) return FALHA;
  28. printf("O endereco de memoria é: %p\n", (void *)ponto);
  29. printf("Coordenada X: %d\n", ponto->x);
  30. printf("Coordenada Y: %d\n", ponto->y);
  31. return SUCESSO;
  32. }
  33.  
  34. //https://pt.stackoverflow.com/q/307590/101
Success #stdin #stdout 0s 4364KB
stdin
Standard input is empty
stdout
O endereco de memoria é: (nil)
O endereco de memoria é: 0x55b7be6c6270
Coordenada X: 0
Coordenada Y: 1