Enunciado

Encontre o erro em cada um dos itens a seguir:

a) Suponha que struct card tenha sido definida para que contenha dois ponteiros para o tipo

char, a saber, face e suit. Além disso, a variável c foi definida para ser do tipo struct card e a

variável cPtr foi definida para ser do tipo ponteiro para struct card. A variável cPtr recebeu o endereço de c. printf( “%s\n”, *cPtr->face );

b) Suponha que struct card tenha sido definida para que contenha dois ponteiros para o tipo char, a saber, face e suit. Além disso, o array hearts[ 13 ] foi definido para ser do tipo struct card. A instrução a seguir deverá imprimir o membro face do elemento do array 10. printf( “%s\n”, copas.face );

c) union valores { char w; float x; double y; }; union valores v = { 1.27 };

d) struct pessoa { char nome[ 15 ]; char sobrenome[ 15 ]; int idade; }

e) Suponha que struct pessoa tenha sido definido como na parte (d), mas com a correção apropriada. pessoa d;

f) Suponha que a variável p tenha sido declarada como tipo struct pessoa, e a variável c tenha sido declarada como tipo struct card. p = c;

Passo 1

E aí meus queridos!! Tudo bem com vocês??

Hoje vamos ver alguns erros que costumam nos confundir na hora de programar!! Estão preparadas crianças?

Passo 2

  1. É preciso delimitar o ponteiro com parênteses, fazendo com que a ordem de avaliação da expressão seja correta. Nesse caso, a expressão deveria ser: (*cPtr)-> face.
  2. Não devemos omitir o subscrito do array. Assim devemos manter a prática da programação como: copas[10].face.
  3. Uniões só podem ser inicializadas com um valor que tenho o mesmo tipo do primeiro membro da união.
  4. Passo 3

    Metade já foi.... Vamos continuar entendendo um pouco sobre:

  5. É sempre importante lembrar que o famoso ponto e vírgula (;) é necessário para finalizar uma definição da estrutura.
  6. A palavra-chave struct foi omitida da declaração. Isso impede que o programa entenda o que queremos de fato. Nesse caso precisamos declarar da seguinte maneira:
  7. struct pessoa d;

  8. Variáveis de diferentes tipos da estrutura não podem ser atribuídas umas às outras.

Ufaa!! Finalmente finalizamos!!

Dê Ctrl+n no seu compilador e bora para o próximo exercício!!

Resposta

Ei, a resposta está no passo a passo :)