Ponteiros em C


Neste tutorial eu vou discutir o ponteiro é e como usá-los em nosso programa C. Muitos C programador pensa que ponteiro é uma das questões mais difíceis na linguagem C, mas não é inteiramente verdade. É difícil de entender em comparação com outros tipos disponíveis em C. Pointer em C (matriz, estrutura etc.) dados secundários parece ser difícil, pois trabalha diretamente com a memória do computador (RAM).

Quando você declarar uma variável em C, para variável inteira exemplo, tem uma memória de acordo com seu tamanho (aqui 2 bytes). Como ocupa uma memória de modo que é natural ter um endereço para essa posição de modo que possa ser referência mais tarde pela CPU para manipulação. Mas, antes de começar com o indicador de que temos de ter alguma idéia sobre operators're vai usar na programação Pointer.




Os operadores '*' E 'e'

Dê uma olhada no seguinte declaração,

int x = 10;

Quando fazemos esta declaração como um compilador C treat esta declaração:

  1. Memória espaço Reserva para este valor inteiro.
  2. Nomeie essa memória posição como x.
  3. Armazenar o valor em 10 esta posição.

Isto pode ser ilustrado por um diagrama simples:

Assim, quando declaramos uma variável inteira x e depois atribuído um valor de 10 compilador ocupada um espaço de memória de endereço de 2 bytes da memória 65325, e valor armazenado 10 em que posição. X Compiler chamado este endereço para que possamos usar x em vez de 65325 em nosso programa. Mas podemos usar o endereço ou variável em nosso programa, e ambos serão apontar para o mesmo valor (como especificado abaixo).

O endereço de memória de uma variável pode variar de PC para PC e depende inteiramente o espaço livre disponível na memória no momento da execução do programa. Como isso é diferente PC para PC por isso não podemos confiar em que o endereço (valor numérico representando abordar variável) e não somos capazes de usar este endereço em nosso programa. Mas você notado algo que resolver é um inteiro.

Nós podemos imprimir o endereço de qualquer variável ou função, o programa mostra como podemos fazer isso:

Morada variável de instância.

#include #include void main () { int i = 9; clrscr (); printf ("valor de i:% d \ n", i); printf ("Endereço do:% u", e i); getch (); }

É um programa muito simples que imprime o valor c e o endereço de um inteiro. Mas você notou a linha n. 10 no programa acima? Esta linha o endereço das variáveis ​​e para obter o endereço das variáveis, utilizamos o operador comercial (&). Este operador é conhecido como "Endereço "operador e já utilizaram este serviço muitas vezes no nosso programa, basta lembrar scanf declaração que é usado para aceitar a entrada do teclado do computador. Então, quando nós usamos operador comercial (& i) antes de cada variável, em seguida, instruir-nos compilador C para retornar seu endereço em vez do valor.

Outro operador pretendemos abordar neste pointer tutorial todo é "*" chamado "Value at "operador. É o mesmo operador que usamos para a multiplicação de números. Como o nome sugere," valor em "operador retorna o valor armazenado em determinado endereço. L '" valor em operador ", também chamado vias indiretas operador. Seguindo o exemplo acima programa estende-se e coloca C "valor em "operador em ação.

Value at (*) exemplo

#include #include void main () { int i = 9; clrscr (); printf ("valor de i:% d \ n", i); printf ("Endereço do:% u \ n", e i); printf ("Valor para o endereço:% d", * (& i)); getch (); }

Agora neste programa de linha sem aviso prévio. 11 e o uso de '&' e operadores '*' também ver a saída do programa que emite o valor da variável e * (& i) em si. Este Veja como estes dois operadores.

Você precisa ter uma idéia clara do 'e' e '*' usar o operador antes de saltar porque ponteiro ponteiro com essas ofertas para operador. Se você encontrar alguma dificuldade, em seguida, enviar suas dúvidas e tentar esclarecer suas dúvidas.

O que os ponteiros em programação C?

A apontador é um subtipo de dados (também conhecido como tipo de dados derivado) em C. Ela foi construída por um dos principais tipos de dados disponível em C. Basicamente ponteiro contém o endereço de memória de outra variável ou função de seu valor. Como ofertas ponteiro com endereço de memória, pode ser usado para acessar e manipular os dados armazenados na memória.

Os benefícios do Pointer em programa C

Ponteiro é uma das características mais interessantes da linguagem C e adicionou poder e flexibilidade para o idioma. Ponteiro em C, pois oferece as seguintes vantagens para os programadores:

  1. Os ponteiros podem manipular matrizes e os dados da tabela de forma eficiente.
  2. Ponteiros apoiar a gestão de memória dinâmica.
  3. Pointer ajuda para retornar vários valores de uma função pelo argumento da função.
  4. Ponteiro aumenta a velocidade de execução do programa.
  5. Ponteiro é uma ferramenta eficaz para a manipulação de estruturas, listas encadeadas, filas, pilhas etc.

Podemos conseguir isso e muito mais benefícios de um ponteiro apenas se formos capazes de usá-lo corretamente.

Pointer com um exemplo

A partir de Este tutorial já se tornou longa e então eu vou dar um pequeno exemplo sobre como podemos usar o ponteiro no nosso programa C. É claro que vamos discutir restante parte no meu próximo ponteiro tutorial.

Sintaxe: tipo de dados * pointer_name;

Exemplo : * Int IPTR;

flutuar * fptr;

Pointer Exemplo

#include #include void main () { int i = 9, * ptr; ptr = & i; clrscr (); printf ("valor de i:% d \ n", i); printf ("Endereço do:% u \ n", e i); printf ("Valor do PTR:% u \ n", PTR); printf ("Morada do PTR:% u \ n", e PTR); printf ("Ptr valor apontador:% d", * ptr); getch (); }

Em o exemplo anterior, em linha n. 6 declaramos a todo e atribuiu 9 lo. Junto com as variáveis, também declarou um ponteiro de inteiro. Para declarar um ponteiro para qualquer tipo de dados que só precisa colocar um * (asterisco) primeira variável Nome ou ID. No nosso exemplo PTR é um número inteiro variável e é capaz de tomando endereço de qualquer variável inteira.

Lembrar uma coisa ponteiro todo só pode conter inteiros um endereço mudou, você não pode usar o inteiro apontador para conter o endereço da variável flutuador ou carvão animal. Para manter ou CHAR flutuar variável de endereço para um ponteiro, você deve declarar char ou flutuar ponteiro respectivamente.

Em linha n. 7 nós atribuído a variável inteira para resolver o PTR, PTR agora o objetivo é eu. Linha 10 impressões nenhum valor e o número da linha. 11 impressões o endereço. Próxima Linha imprime o valor armazenado no ponteiro ptr variável, a linha n. 13 impressões abordar o PTR ponteiro. Como indicador é uma entidade diferente, em seguida, também requer um espaço de memória. Memória ocupado por um ponteiro depende do seu tipo de dados. Integer ponteiro vontade ocupam 2 bytes e ponteiro personagem vai ocupar 1 byte. Finalmente, a linha não. 14 imprime o valor endereço armazenado no valor PTR ponteiro ie. E para impressão valor de endereço armazenado em um ponteiro que temos de escrever * nome de variável ponteiro (No nosso exemplo, * ptr). Um mapa de memória vai ajudar você a entender isso.

Se você encontrar quaisquer problemas ou erros neste artigo, então por favor me avise através da caixa de comentários.

Obrigado por visitar minha cursos livres C ponteiro.

C Programming Poll como língua estrangeira

C Programming Tutoriais Outros links

  • C Pointer função de programação
    Como variáveis ​​C, a função também abordar e podemos usar esse endereço para invocar a função. Portanto, este tutorial é inteiramente dedicado ao ponteiro de função. Mas antes que você pode chamar uma função através de nós temos de descobrir ...
  • Uma breve história da língua C
    Antes de iniciar qualquer programa complexo em C, temos que entender o que realmente é C, como veio a existir e como ele difere de outras línguas da época. Neste tutorial eu vou tentar falar sobre estes ...
  • Os tipos de dados em linguagem C
    A linguagem de programação tem como objetivo ajudar os programadores a desenvolver certos tipos de dados e fornecer saída útil. A tarefa do tratamento é obtido através da realização de séries de comandos chamados ...
  • Arrays em vista de programação C do programador
    Uma matriz em linguagem C é um conjunto de dados de um tipo semelhante, significa uma matriz pode conter o valor de um tipo de dados particular para a qual é declarado. Os arrays podem ser criados a partir de qualquer dos tipos de dados C-int ...
  • Como trabalhar com arrays bidimensionais em C
    Nós sabemos como trabalhar com uma matriz (array 1D) com uma dimensão. Em C você pode ter mais de uma dimensão em uma matriz. Neste tutorial, vamos aprender como podemos usar dois ...
  • Como trabalhar com array multi-dimensional em C Programming
    C permite série de dois ou mais dimensões, o número máximo de dimensão de um programa pode ter C é dependente do compilador estamos a utilizar. Em geral, uma matriz tendo uma dimensão é chamado matriz 1D, matriz, ...
  • Tipos de função em programação C Idiomas:
    Na minha anterior programação tutorial C Tentei explicar o que a função, os seus benefícios e como declarar uma função C. E eu disse-lhe que há cinco tipos de funções e são: ...
  • Qual é a função em linguagem C?
    Uma função em linguagem C é um bloco de código que executa uma tarefa específica. Ele tem um nome e é reutilizável ou seja, ele pode ser executado a partir de diversas partes de um programa C, conforme necessário. E também ...

(0)
(0)

Comentários - 0

Sem comentários

Adicionar um comentário

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Caracteres restantes: 3000
captcha