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

bertolo

erro impossivel! estruturas

3 mensagens neste tópico

#include <stdio.h>

struct DADOS
{
char vector[51];
int a;
float b;
}tiago;

main(){

tiago.vector="Fonseca Galhao";
tiago.a=58112;
tiago.b=1.80;

printf("\n\nNome:%s\nNumero:%d\nAltura:%.2f\n",tiago.vector,tiago.a,tiago.b);

}

nao se compreende pq e que da imcompatible types in assignment na linha:

tiago.vector="Fonseca Galhao";

ajudem pff!!!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso é uma daquelas coisas estranhas de C.

É preciso percer bem como funcionam essas string em C.

Quando tu usas "qualquer coisa" o que o campilador faz é criar um const char[<número de caracteres>]

Quando tentas assignar um ponteiro constante (ponteiros e array para esta situação são a mesma coisa) a outro não constante, falha, isto porque o ponteiro constante não pode ser alterado, e ao colocar numa variavel que pode ser alterada (não constante) passava a violar esse contracto inicial.

Solução:

usa strcpy(...)

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