Mini Teste 19: typedef

1. O que é que o typedef  faz? 

Escreve texto no ecrã.
Define um novo tipo da variável.
Faz combinações de arrays e records.
Declara variáveis dos tipos mistos. 

typedef float b;
 ......
b = 3.1;
2. Porquê o código acima não funciona? 

Temos de usar 'typedef b float' em vez.
float já está definido.
A sintaxe está mal, em vez temos de usar 'type'.
typedef só faz uma especificação de um tipo de variável para declarar depois. 

typedef struct {
   struct {
      float x[10];
      int y[3];
    } ri;
    struct {
      float v;
      double w;
    } rd;
  end;
} mystructs[10];

mystructs b;

3. Como atribuir um valor de 0 ao ('primeiro') y do
 programa? 

4. Qual será o output do seguinte código? 
typedef float reals[10];

void WriteIt(reals r)
{
  printf("%f\n", r[1]);
}

void main()
{
  int x[10];

  x[1] = 3;
  WriteIt(x);
}

Inprevisível. Esquecemos de inicilizar o array r!
3.0
Nada; fizemos uma mistura de tipos em chamar a função.
3