As linguagens de programação C + + e C são dois dos poucos que ainda dependem fortemente de acesso à memória indireta. Este é o conceito de que uma variável de memória pode conter a localização de uma outra variável de memória - e esta variável é conhecido como um ponteiro . Embora isso pareça confuso , é uma poderosa ferramenta utilizada para implementar matrizes, listas ligadas , árvores e outras estruturas de dados . Aqui está uma breve introdução a ponteiros e matrizes. Coisas que você precisa
linguagem C + +, como o Visual C + + Express, Visual Studio ou C + + Builder
Show Mais instruções
1
Criar um novo programa C + +. Usando o Visual Studio 2010 modelo de aplicativo de console do Windows , o código será iniciado assim:
# include " stdafx.h"
int _tmain (int argc , _TCHAR * argv [])
{
Digite o código restante no programa tal como aparece ao longo da narrativa abaixo.
2
Criar e imprimir um novo ponteiro seqüência de caracteres da seguinte forma.
char * c = "Olá ";
printf ( "% s \\ n", c);
o asterisco (*) antes da variável c indica que esta é uma variável ponteiro . Variável c contém o local de memória onde a cadeia de texto 'Olá' foi armazenado pelo compilador. A função printf usa o ponteiro c para localizar essa string e exibi-lo ao console.
3
Adicionar um novo array de inteiros na memória.
Int * n = new int [5];
Um novo ponteiro n é declarado para apontar para uma matriz de inteiros . A nova função cria uma nova matriz de cinco inteiros e a localização desta matriz é armazenada no ponteiro p.
4
Coloque a matriz com os números de 1 a 5, usando um segundo ponteiro para percorrer a . disposição
int * p = n;
int I;
for ( i = 1; i < 6; i + +) {
* p = i;
p + +; }
o ponteiro p é declarado e definido para o mesmo valor de n, o início da matriz . À medida que o ciclo repete cinco vezes , a localização de memória apontada por p recebe o valor do contador , em seguida, o ponteiro é incrementado , movendo-se para o próximo elemento da matriz . Note-se que a p + declaração + incrementa ponteiro p pelo tamanho do inteiro , movendo-se a cada célula da matriz.
5
Apresentar os valores da matriz para o console usando um índice para a matriz.
for ( i = 0; i < 5; i + +) {
printf (" % d \\ n", n [ i] ); }
Mais uma vez , o programa faz um loop cinco vezes, cada vez usando a função printf para enviar o conteúdo de posições de memória apontadas por n [ i] para o console. Desta vez, o programa usa a notação de índice junto com o ponteiro para percorrer a matriz. Em C + + , as matrizes são de base zero, de modo que os movimentos contrários 0-4
6
Feche o programa
apagar n; . .
Retornar 0 ;
}
Retire a matriz de memória usando a função de apagar . Em C + +, qualquer memória alocada pelo novo deve ser excluído para evitar vazamentos de memória. Por fim, retornar 0 para indicar que o programa foi concluído com êxito .