alocação de matriz dinâmica em c com o tamanho da matriz variável
matrizes de tamanho variável, também conhecidas como matrizes dinâmicas, pose um desafio no padrão C. 0;
arquivo* imagem;
imagem = fopen ("test.jpg", "r");
fseek (imagem, 0, seek_end);
sizs = ftell (imagem); // indo para o início do arquivo
n = fread (sbuf, sizeof (char), siz, imagem);
/ * ... faça coisas com o buffer ... */
/* MEMSET (SBUF, 0, Sizeof (SBUF)); */
O código acima tenta alocar uma matriz de caracteres com um tamanho determinado por uma variável siz. No entanto, no padrão C, os tamanhos da matriz devem ser constantes. Isso coloca a pergunta: como podemos declarar o SIZ corretamente para permitir a compilação do código? matrizes. Pode ser facilmente estendido a qualquer tamanho desejado e seu uso é relativamente direto. Para criar uma matriz com um tamanho variável, pode -se usar char* sbuf = new char [siz]; Para alocar uma variedade de caracteres SIZ na pilha. No entanto, essa abordagem apresenta preocupações de gerenciamento de memória (por exemplo, possíveis vazamentos de memória), tornando -a menos adequada que o std :: vetor.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3