Programação  
 
Conhecimento computador >> Programação >> C /C + + programação >> 
O que é um ponteiro em C
? Uma das características que faz com que uma linguagem de programação C tão poderosa é a capacidade para programadores para acessar a memória diretamente usando ponteiros. Os ponteiros são usados ​​extensivamente em C para manipulação de matrizes de dados , manipulação de cadeias de caracteres, passar parâmetros para funções e criar listas ligadas e outras estruturas de dados complexas . Os ponteiros são uma das maiores fontes de confusão para programadores novos para a linguagem C . Compreender e usar ponteiros é fundamental para programação C eficaz. pointer
Pointer : Tome cuidado para limpar!
Função

um ponteiro de objeto , ou simplesmente ponteiro, é uma variável que contém um endereço de memória onde um objeto , como uma struct ou float, ou um array de objetos, é armazenado . Com esse endereço de memória , o programador pode ler, modificar e percorrer a memória usando um ponteiro .

Benefícios

funções que recebem um ponteiro para um externo objeto passado como um parâmetro pode modificar esse objeto. Quando a função sai , o novo valor atribuído a esse objeto irá persistir . Uma função pode ter vários ponteiros , permitindo que uma única função para modificar vários objetos com uma única chamada de função.

Um ponteiro pode ser usado para navegar através de um conjunto de elementos sistematicamente ou aleatoriamente usando a notação de matriz , iteração ou matemática básica . Usando ponteiros para acesso de matriz é mais rápido do que as implementações mais complicados de funcionalidade semelhante encontrada em outras línguas. Embora tais implementações são mais fáceis de usar e evitar erros , não há sobrecarga adicional que afeta o desempenho.
Significado

A capacidade de alocar dinamicamente quantidades arbitrárias de memória heap durante tempo de execução é uma técnica chamada " alocação dinâmica de memória . " Muitas linguagens anteriores, como Fortran, necessário a quantidade de memória alocada para estruturas tais como matrizes para ser definido em tempo de compilação , e da quantidade de memória alocada não pode ser alterado durante a execução do programa . Os ponteiros são usados ​​em C para manter o endereço de memória alocada dinamicamente.
Uso

Um ponteiro é declarado colocando uma estrela (*) entre o nome do tipo eo nome da variável.

o valor de um objeto na memória no endereço realizada pelo ponteiro é acessado por " dereferencing " o ponteiro. Dereferencing um ponteiro é feito colocando um asterisco (* ) antes do nome do ponteiro

Ao manusear os ponteiros para estruturas, um membro da estrutura é referenciado usando uma seta. (- >) Entre o nome do ponteiro e o nome do membro .

o endereço de um objeto pode ser acessado pela colocação de um e comercial (& ) antes de nome de variável do objeto. Passando o endereço de um objeto para uma função é chamada de " passar por referência . " O parâmetro é declarado como um ponteiro no protótipo da função . A função dereferences o parâmetro para modificar o seu valor , eo valor irá persistir quando a função sai .

Arrays são criados por alocar a quantidade de memória necessária para manter o número desejado de objetos de um determinado tipo. Isso é feito durante ou após a declaração com a notação ponteiro e malloc ou calloc , ou durante a declaração usando a notação de array. Elementos de uma matriz podem ser acessados ​​usando a notação de referência de índice ou por iteração o ponteiro do array. Iteração incrementa automaticamente ou diminui o endereço pelo tamanho de um elemento individual de modo que o ponteiro estiver posicionado corretamente no início do elemento seguinte ou anterior.
Aviso

Memória alocação e desalocação é gerenciado pelo programador. Memória que foi alocado deve ser desalocado quando já não é necessário. Na falta de desalocar memória impede que ele seja usado até que o aplicativo é encerrado . A " perda de memória " ocorre quando uma referência a memória alocada é perdido sem liberar a memória primeiro. Vazamentos de memória pode acontecer quando um ponteiro é transferido , ou uma função sai sem delegar a propriedade da memória alocada .

Acessando memória além do fim da memória alocada é um erro comum quando se trabalha com matrizes. Este erro é chamado de ter um " índice da matriz fora dos limites. " Isto pode fazer com que o aplicativo se comporte incorretamente ou sair inesperadamente.

Anterior :

Próximo : No
  Os artigos relacionados
·Como compilar um Makefile 
·Como depurar com DBX 
·Objetivo principal de arquivos de cabeçalho 
·Par /Ímpar Função de Programação C 
·Tutorial Processor celular 
·Como corrigir falha Visual C Afirmação 
·Como fazer caixa de listagem de controle editável em C…
·Como obter um valor de célula Gridview 
·Como fazer códigos de números aleatórios Só Mesmo e…
·Como usar variáveis ​​globais para a programação C 
  Artigos em destaque
·Como instalar Vcvarsall.bat 
·Celular C # Tutorial Desenvolvimento 
·Como reverter elementos de um array em C 
·Como ler uma Matriz em Linguagem C 
·Como aprender a código de um microcontrolador em C 
·Como anexar Debugger em C # 
·O que é uma interface CPP 
·Como converter ponteiros de função 
·Como consertar uma saturação de buffer 
·Como escrever extensões HTML em C 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados