• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

bertolo

Dúvida Estructuras

3 mensagens neste tópico

PPL!!! Apelo a vossa ajuda para me explicarem pq e que dá tanto erro a compilar esta cena..na linha 17  e 18. Compilem e vejam.

#include <stdio.h>

struct datas
{
int dia;
char mes[15];
int ano;
};

struct pessoas
{
char nome[30];
char morada[100];
struct datas data_nasc;
};

void mostra(struct pessoas *t){
struct pessoas *t = {"João","Lx",{10,"Julho",1988}};
}
/**********************************/
int main (void){
struct pessoas tiago={"Tiago","Leiria",{9,"Julho",1988}};

printf("Nome:%s\nMorada:%s\nData De Nascimento:%d/%s/%d\n",tiago.nome,tiago.morada,tiago.data_nasc.dia,tiago.data_nasc.mes,tiago.data_nasc.ano);

mostra(tiago);

printf("Nome:%s\nMorada:%s\nData De Nascimento:%d/%s/%d\n",tiago.nome,tiago.morada,tiago.data_nasc.dia,tiago.data_nasc.mes,tiago.data_nasc.ano);

return 0;
}
/************************************/

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bertolo@bertolo:~$ gcc -Wall -pedantic -ansi est2.c -o est2

est2.c: In function ‘mostra’:

est2.c:18: error: ‘t’ redeclared as different kind of symbol

est2.c:17: error: previous definition of ‘t’ was here

est2.c:18: warning: initialization from incompatible pointer type

est2.c:18: warning: excess elements in scalar initializer

est2.c:18: warning: (near initialization for ‘t’)

est2.c:18: warning: braces around scalar initializer

est2.c:18: warning: (near initialization for ‘t’)

est2.c:18: warning: initialization makes pointer from integer without a cast

est2.c:18: warning: excess elements in scalar initializer

est2.c:18: warning: (near initialization for ‘t’)

est2.c:18: warning: excess elements in scalar initializer

est2.c:18: warning: (near initialization for ‘t’)

est2.c:18: warning: excess elements in scalar initializer

est2.c:18: warning: (near initialization for ‘t’)

est2.c:18: warning: unused variable ‘t’

este e o output qd compila

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

void mostra(struct pessoas *t){
struct pessoas *t = {"João","Lx",{10,"Julho",1988}};

o problema era aki tava a ser declarado duas x.

[[]] lool obrigado na mm

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora