"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como declarar matrizes de tamanho variável no padrão C?

Como declarar matrizes de tamanho variável no padrão C?

Postado em 2025-04-15
Navegar:518

How Can I Declare an Array With a Variable Size in Standard C?

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

while (! Feof (picture)) {


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.

            
Tutorial mais recente Mais>

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