Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] Struct

Assim que eu criei a struct deu esse monte de erros, o que eu fiz de errado? Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

Insira aqui a descrição dessa imagem para ajudar na acessibilidade `

struct mapa m;

struct mapa {
    char** matriz;
    int    linhas;
    int    colunas;
};
solução!

Olá Pedro! Tudo joia?

Pelo que posso ver na imagem, parece que você está tentando usar uma struct, mas não a declarou corretamente. Vamos revisar alguns pontos importantes:

  1. Declaração da struct: Você precisa declarar a struct antes de usá-la. Pelo código da imagem, você declarou uma struct x;, mas não definiu o que essa struct contém.

  2. Definição da struct: Você precisa definir a estrutura da struct antes de usá-la. Vou te dar um exemplo baseado no contexto da sua dúvida.

Aqui está um exemplo completo de como você pode declarar e usar uma struct:

#include <stdio.h>
#include <locale.h>

// Definindo a struct
struct mapa {
    char** matriz;
    int linhas;
    int colunas;
};

void leMapa(struct mapa* m) {
    // Implementação da função leMapa
}

void imprimeMapa(struct mapa* m) {
    // Implementação da função imprimeMapa
}

int main() {
    setlocale(LC_ALL, ""); // Ativa o uso de acentos

    struct mapa x; // Declarando uma variável do tipo struct mapa

    x.linhas = 10;
    x.colunas = 10;

    char mapa[10][10];
    x.matriz = (char**)mapa;

    leMapa(&x);
    imprimeMapa(&x);

    return 0;
}

Alguns pontos importantes:

  • Definição da struct: A struct é definida no início do código.
  • Declaração da variável x: Você declara x como uma variável do tipo struct mapa.
  • Atribuição de valores: Você atribui valores às variáveis dentro da struct usando o operador ponto (.).

Além disso, certifique-se de que todas as funções que utilizam a struct estejam corretamente definidas e que você passe a struct como parâmetro para essas funções, se necessário.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.
   struct mapa m;

Eu estava esse declaração, conforme haviado te mostrado, removi o strcut e deixe assim:

    mapa m;

E funcionou.