1
resposta

Começando o Jogo

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "Variaveis Foge Foge.h"

//matriz 5 linhas x 10 colunas
char** mapa;
int linhas;
int colunas;

void liberamapa()
{
    //liberando variavel //tem que usar 'for' primeiro para liberar cada item da matriz
    for(int i = 0; i < linhas; i++)
    {
        free(mapa[i]);
    }
    free(mapa);
}

void alocamapa()
{
    /*função malloc aloca um bloco de memória dinâmicamente // função sizeof da o tamanho de bytes do que estive dentro do ()
    para ponteiro e array que são ponteiros // ** para matrizes que são ponteiros de ponteiros*/
    mapa = malloc(sizeof(char*) * linhas);
    for(int i = 0; i < linhas; i++)
    {
        mapa[i] = malloc(sizeof(char) * (colunas+1));
    }
}

void lemapa()
{
        FILE* f;
    f = fopen("mapa.txt", "r");
    if(f == 0)
    {
        printf("Erro na leitura do mapa!\n\n");
        exit(1);
    }

    fscanf(f, "%d %d", &linhas, &colunas);

    alocamapa();

   for(int i = 0; i < 5; i++)
   {
        fscanf(f, "%s", mapa[i]);
   }
    fclose(f);
}

int main()
{
    lemapa();

    for(int i = 0; i < 5; i++)
   {
        printf("%s\n", mapa[i]);
   }

    
    liberamapa();

    
}
1 resposta

Oii Matheus, tudo bem com você?

Meus parabéns e empenho com os estudos. A prática é essencial para fixarmos o nosso aprendizado e aprofundarmos ainda mais no conhecimento.

Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software