error-dereferencing-pointer-to-incomplete-type-struct

1. error-dereferencing-pointer-to-incomplete-type-struct

Marco Aurélio Neumann Weberling
weberling

(usa Outra)

Enviado em 24/06/2018 - 22:25h

Olá, boa noite.

Meu problema é basicamente o seguinte.

Meu código está dando o erro: error dereferencing pointer to incomplete type 'struct num'

Já pesquisei por todo lado mas não consegui entender o porque está acontecendo.

A estrutura de dados nesse caso tem que ser local à função main e receber os dados em uma função usando ponteiros.

Fico grato caso alguém possa me dar uma luz.

Segue meu código.

#include <stdio.h>
#include <stdlib.h>
/*
1 - Escreva um programa que tem uma estrutura da dados com os membros abaixo.
A estrutura é uma variavel local na função main().Receba via teclado o
conteudo de cada um dos membros numa função e imprima-os no video.
*/

void recebe_dados(struct num *p)
{
printf("Digite um char>(01 digito):\n");
scanf("%s", p->var_char);

printf("Digite um int(06 digitos):\n");
scanf("%d", p->var_int);
}

int main()
{

struct num
{
char var_char;
int var_int;
};

struct num dados;
struct num *pRecebe;

pRecebe = &dados;

recebe_dados(pRecebe);
}


  


2. Re: error-dereferencing-pointer-to-incomplete-type-struct


oxidante

(usa Debian)

Enviado em 24/06/2018 - 23:14h

1) defina a estrutura "num" no início do código-fonte, antes da função recebe_dados()
2) ao chamar a função scanf(), use o símbolo & antes do p->var_char e do p->var_int, pois vc deve passar o endereço desses campos para o scanf, assim ele saberá onde armazenar os dados entrados pelo usuário
3) no scanf() que lê o membro var_char, use "%c" em vez de "%s" (lembre-se de que %s é para strings, ou seja, para um vetor de chars)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts