Programação  
 
Conhecimento computador >> Programação >> Programação De Computador Idiomas >> 
Como podemos dinamicamente Alocar Array Size
? Matrizes em programação de computadores são coleções ou seqüências de valores contidos em um único nome de variável. Estas estruturas de dados permitem que os programadores para representar séries de dados ou listas de dados para uma variedade de propósitos, tais como classificação ou iteração. No entanto, em muitas linguagens de programação , como C /C + +, matrizes programadores devem declarar , tamanhos de matriz imutáveis ​​estáticas. Usando técnicas de alocação de memória em uma linguagem como C + + , o programador pode criar dinamicamente matrizes ou mesmo redimensionar essas matrizes durante a execução do programa. Arrays

em linguagens de baixo nível , como C ou C + + , as matrizes são estáticos. Uma vez declarado com um valor de tamanho , essa matriz será sempre manter esse tamanho. O compilador atribui um bloco de memória contínuo para a matriz . Quaisquer outras funções ou variáveis ​​que precisam de memória será colocada depois da matriz. Assim, a matriz não pode mudar de tamanho sem sobrescrever os dados que o segue. Assim, por exemplo , uma vez que um programador declara uma matriz com vinte espaços , essa matriz terá sempre vinte espaços , sejam eles usados ​​ou não , para a vida da estrutura de dados .
Alocação de memória em o heap

Para contornar esta limitação , no entanto , os programadores podem alocar memória no heap. Normalmente, as variáveis ​​e matrizes declaradas em um programa ou função são colocados na pilha, o que representa essencialmente a memória de curto prazo. Uma vez que o tempo de vida da função da matriz existe em revestimentos , a matriz é excluído . Ao usar a palavra-chave " novo " , no entanto , o programador pode recolher a memória da pilha , o que é a memória a longo prazo que existe fora da função que declara a matriz . Além disso , o programador pode usar o Heap para declarar matrizes dinamicamente.

Matrizes dinâmicas

com matrizes , o programador tem de declarar o tamanho da matriz em declaração. Este tamanho deve ser representado por um valor constante , ou uma variável constante ou um número inteiro . No entanto, usando o operador "new" , o programador pode usar variáveis ​​regulares para matrizes de tamanho, eo usuário ainda pode inserir o valor destas variáveis ​​durante o tempo de execução. O exemplo a seguir mostra a diferença :

int main () { int

arr [ 5] //nova matriz , deve ser dimensionado com tamanho constante valueint = 5; int * Dynamic_Array = new int [ tamanho ]; //tamanho da matriz é dinâmico

redimensionamento Arrays

Com essas matrizes dinâmicas , o programador pode criar matrizes que podem ser redimensionadas . A classe "vector " representa uma matriz de expansão dinâmica ou diminuindo essa vantagem taks de matrizes dinâmicas . O exemplo a seguir ilustra como criar uma matriz simples que cresce em tamanho maior :

int main () {

int * arr = new int [ 5]; int new_size = 10; < br >

arr [ 0] = 1; arr [1] = 2;

/* redimensionar * /int * arr2 = new int [ new_size ];

arr2 [0] = arr [ 0]; arr2 [1] = arr [1];

delete [ ] arr ; arr = arr2 ;

retornar 0 ;}


Anterior :

Próximo : No
  Os artigos relacionados
·Como escrever uma associação externa no AFD em WebFOC…
·O que é o Pico Codificação 
·XNA Pixel Shader Effects 
·Como fazer XSL Ignore a referência DTD em XML 
·Diferença entre determinísticas e não determinístic…
·Os melhores lugares para colocar Logs NET 
·Diferença entre Orientada a Byte I /O & Character I /O…
·Sem conexão proxy no NetBeans 
·Falha API de Segurança: token Obrigatório 
·As desvantagens do uso de Widgets no projeto de computa…
  Artigos em destaque
·Como escrever uma folha de XLS em CSharp 
·Como criar um pipe nomeado 
·Como criar um Randomizer em C 
·String de conexão para o SQL Authentication 
·Funções C para Xilinx 
·Como formatar conteúdo dentro de um UIScrollView 
·Como criar um conjunto de resultados de Executar em um …
·Como fazer arranjos paralelos de dados em C + + 
·Como alterar cores em C + + 
·Função GCC Sistema 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados