Programação  
 
Conhecimento computador >> Programação >> C /C + + programação >> 
O que são ponteiros e como eles são usados ​​
? Donald Knuth , atualmente um professor emérito de "The Art of Computer Programming " na Universidade de Stanford, disse em 1974 que ele considerou variáveis ​​de ponteiro " para estar entre os tesouros mais valiosos da ciência da computação . " No entanto , mais de três décadas depois, os ponteiros são ainda confuso para muitos programadores iniciantes. Além disso , os programadores costumam usar ponteiros incorretamente, para que o código não funciona como planejado ea questão se torna ainda mais nebuloso e confuso. Um ponteiro é para endereços

Ponteiros são variáveis ​​que contém o endereço de outra variável , assim, eles " ponto " para a outra variável. Programadores são normalmente confortável com a idéia de variáveis ​​- por exemplo, uma variável "x ", contendo o valor de 25. Um ponteiro para "x" indica onde o valor de 25 é armazenado na memória. Imprimir o conteúdo de uma variável ponteiro iria exibir um endereço de memória , tradicionalmente impressos em hexadecimal. Imprimir o conteúdo de "x" seria exibido 25. O endereço de uma variável não é muito diferente do conceito de uma carta com um endereço impresso no envelope. O endereço diz o carteiro onde entregar o envelope. O conteúdo do envelope são separados a partir do endereço . O endereço de uma variável é onde na memória o conteúdo de uma variável são armazenados.
Declaração

A declaração de um ponteiro é específico para a linguagem de programação. Por exemplo, a afirmação " flutuar y = 25,5, * pointer_to_y = &y; " declara e inicializa um ponto flutuante "y" variável e uma variável ponteiro. Imprimindo o valor de "y" renderia 25,5, enquanto imprime o valor de " pointer_to_y " renderia onde "y" é armazenado na memória .
Uso de ponteiros
< br >

Um lugar importante para os ponteiros é na entrada. Quando você pede que o usuário digite um número, você precisa armazenar esse número em algum lugar. Para contar a sua função de entrada onde armazenar o valor, você deve dar o endereço de uma variável , o que seria "& number_of_students " em C. Se você acabou de especificar " number_of_students ", você está falando sobre o valor atual armazenado na variável , como o conteúdo do envelope mencionado antes , ao invés de onde armazenar a entrada do usuário .

funções

é ineficiente para passar grandes quantidades de dados para funções. Ponteiros permitem que você passe , onde os dados são armazenados de que sua função precisa . Sua função pode acessar os dados necessários sem a sobrecarga de passar os dados para a rotina.
Estruturas de dados complexas

problemas de programação avançadas exigem soluções avançadas de programação e tipos de dados . Os programadores não podem facilmente resolver todos os problemas com inteiro simples , ponto flutuante e tipos de dados de caracteres. Os programadores usam listas ligadas muitas vezes em programas , especialmente ao ordenar conjuntos complexos de dados. Uma lista ligada é simplesmente uma coleção de dados, como o nome de um funcionário, ID e taxa de pagamento , armazenados em uma estrutura de dados . Além dos dados do empregado , cada estrutura de dados contém um apontador para a estrutura de dados seguinte na lista . Reorganizando os registros de empregados é uma questão de reorganizar os ponteiros , ao invés de ter que se deslocar grandes quantidades de dados em torno de simplesmente reordenar a lista.

Anterior :

Próximo : No
  Os artigos relacionados
·Como fazer descritores de arquivos em C 
·Como Ler SQL A partir do Visual C 
·PowerShell Tipos de Objeto 
·Como converter um número para um personagem usando C +…
·Como inverter uma fila em C + + 
·Como anexar Debugger em C # 
·Como ler em de um arquivo externo em C + + 
·Como usar Int para obter o código de cor RGB 
·Como fazer Lotes em C + + 
·Como link para um arquivo CPP 
  Artigos em destaque
·Definição da função C + + Cordas 
·Como ocultar um objeto no Visual C 
·Como ler em de um arquivo externo em C + + 
·Qual é a diferença entre um controle de entrada analó…
·Como usar variáveis ​​globais para a programação C 
·Função recursiva em C 
·Como criar SQLite Com Zend Framework 
·O que é WinAC & Kernel Mode 
·Como agregar funções vetoriais 
·Como usar Ctags Com UltraStudio 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados