fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct aluno {
  6. int matricula;
  7. char nome[50];
  8. char curso[20];
  9. } Aluno;
  10.  
  11. Aluno *novo(int matricula, char *nome, char *curso) {
  12. Aluno *a = malloc(sizeof(Aluno));
  13. a->matricula=matricula;
  14. strcpy(a->nome, nome);
  15. strcpy(a->curso, curso);
  16. return a;
  17. }
  18.  
  19. void libera(Aluno *aluno) {
  20. free(aluno);
  21. }
  22.  
  23. void acessa(Aluno *aluno, int *matricula, char *nome, char *curso) {
  24. *matricula = aluno->matricula;
  25. strcpy(nome, aluno->nome);
  26. strcpy(curso, aluno->curso);
  27. }
  28.  
  29. void atribui(Aluno *aluno, int matricula, char *nome, char *curso) {
  30. aluno->matricula = matricula;
  31. strcpy(aluno->nome, nome);
  32. strcpy(aluno->curso, curso);
  33. }
  34.  
  35. int size() {
  36. return (int)sizeof(Aluno);
  37. }
  38.  
  39. int main() {
  40. Aluno *a = novo(123, "victhor", "computacao");
  41. int matricula;
  42. char nome[50], curso[20];
  43. acessa(a , &matricula, nome, curso);
  44. printf("MatrĂ­cula: %d\n", matricula);
  45. printf("Nome: %s\n", nome);
  46. printf("Curso: %s\n", curso);
  47. }
  48.  
  49. //https://pt.stackoverflow.com/q/163521/101
Success #stdin #stdout 0s 4288KB
stdin
Standard input is empty
stdout
Matrícula: 123
Nome: victhor
Curso: computacao