Pular para o conteúdo

Ponteiros - Saindo de Pesadelos

Aqui, vou explicar como trabalhar com ponteiros em C da forma mais fácil possível, tentarei mostrar algo avançado
também. Enfim, quer aprender a usar ponteiro? Leia este artigo, nunca mais irá apanhar.
C00L3R_ Cooler_
Hits: 20.545 Categoria: C/C++ Subcategoria: Avançado
  • Indicar
  • Impressora
  • Denunciar

Introdução

Por que Ponteiros?

Geralmente, o meio acadêmico dá uma explicação de Ponteiros deixando todos enrolados, e com apenas o básico.

O que faz a todos desviar do caminho dos ponteiros, os poucos que usam, são aqueles que têm sido autodidata ou fizeram algum curso.

Bom, alguns livros têm exemplos bons de Ponteiros, como no livro Ansi C, de K&R, entretanto, a falta de popularidade de tais dicas, torna tal assunto meio obscuro…

Perguntas frenéticas:

Por que usar Ponteiros?

- Desempenho e maior manipulação dos dados.

E se eu não usar?

- Na depuração de códigos STACK, é bem complicada se comparada com HEAP. No tratamento de dados gigantes, poderá ter algumas Traps Malditas.

Outro ponto interessante, uma das diferenças de 64 bits para 32 bits, tanto em 64 como 32, tem 32 bit em int, entretanto, Ponteiro tem 64 bit em 64 bit, e em 32 bit tem 32 bit. Reflita...

O que é ponteiro?

- Nada mais é que uma referência, um tipo de dado que armazena um endereço.

Vamos à um exemplo básico, para depois ver algo complexo:

#include <stdio.h> #include <string.h> int main() { // ponteiro com int int *x,*y; // fazemos o casting para ponteiro de int x=(int *)256; y=(int *)256; // casting para int antes da adição printf("%d \n",((int)x)+((int)y)); puts("digite um numero para adicao com y..."); scanf("%d",&x); printf("%d \n",((int)x)+((int)y)); // ponteiro com strings... char *word; word="ola"; puts(word); word="lol"; puts(word); // 0[l] 1[o] 2[l] word[2] logo temos "l" printf("char: %c \n",*(word+2)); return 0; }
   1. Introdução
   2. Ponteiros, ponteiros para função...
   3. Ponteiros para função com argumento e arrays tridimensionais

BSD Sockets em linguagem C

Usando o PF - Packet Filter

Banco de dados orientados a documentos

Buffer Overflow: Entendendo e explorando

Trabalhando com arquivos no Perl

Alocação dinâmica de memória em C

Projeto Icecream (parte 1)

Android NDK: Desmistificando o acesso a códigos nativos em C

Cuidado com números em Ponto Flutuante

SDL e C - Uma dupla sensacional

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.