title: Function "sizeof" returning incorrect value for a struct pointer
body: <p>I'm trying to get the size of a variable named *a which points to where an instance of a struct named "aluno" is stored, but it is returning me the incorrect size (36, which should be actually 33 bytes). Also, I'm trying to return each of the struct's elements' addresses in memory, but the program is throwing me an error, for example: "request for member 'ra' in something not a structure or union".</p>
  
  <p>The goal is for me to show on the screen the full size of <code>*a</code>, as well as the address of <code>a</code> itself. I also need to show the value, address, and size of every member of the <code>*a</code> struct (such as ra, nome, etc.)</p>
  
  <p>Can anyone help me?</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;
  #include &lt;locale.h&gt;
  
  typedef struct {
      int ra;
      char nome[20];
      int idade;
      char sexo;
      float media;    
  } aluno;
  
  int main() {
      aluno *a;
      aluno aux;
  
      setlocale(LC_ALL, "Portuguese");
  
      a = (aluno*) malloc(sizeof(aluno));
  
      printf("RA: "); scanf("%d", &amp;aux.ra);
      printf("Nome: "); scanf("%s", &amp;aux.nome);
      printf("Idade: "); scanf("%d", &amp;aux.idade); fflush(stdin);
      printf("Sexo: "); scanf("%c", &amp;aux.sexo);
      printf("Média: "); scanf("%f", &amp;aux.media);
  
      *a = aux;
  
      printf("\nEndereço de memória do ponteiro a: %p\n", a);
      printf("Tamanho de *a: %d\n\n", sizeof(*a));
  
      printf("   Valor de a.ra: %d\n", (*a).ra);
      printf("Endereço de a.ra: %p\n", a.ra);
      printf(" Tamanho de a.ra: %d\n\n", sizeof((*a).ra));
  
      printf("   Valor de a.nome: %s\n", (*a).nome);
      printf("Endereço de a.nome: %p\n", a.nome);
      printf(" Tamanho de a.nome: %d\n\n", sizeof((*a).nome));
  
      printf("   Valor de a.idade: %d\n", (*a).idade);
      printf("Endereço de a.idade: %p\n", a.idade);
      printf(" Tamanho de a.idade: %d\n\n", sizeof((*a).idade));
  
      printf("   Valor de a.sexo: %c\n", (*a).sexo);
      printf("Endereço de a.sexo: %p\n", a.sexo);
      printf(" Tamanho de a.sexo: %d\n\n", sizeof((*a).sexo));
  
      printf("   Valor de a.media: %.1f\n", (*a).media);
      printf("Endereço de a.media: %p\n", a.media);
      printf(" Tamanho de a.media: %d\n", sizeof((*a).media));
  
      return 0;
  }
  </code></pre>