PoGamando - Ponteiros

Comentarios
Olá gente, hoje vou falar um pouco sobre ponteiros, quem já programou em C sabe ou deveria saber usar ponteiros, pois os mesmos são de certo modo essenciais na liguagem (se não fosse não tinham colocado), enfim, ponteiros nada mais é do que uma varivável que cujo conteúdo é o endereço na memória de outra variável, os ponteiros são muito usados em estrutura de dados com C, nas listas, pilhas, filas, e árvores, não sabe o que é isso? (manda uma mensagem que eu terei prazer de fazer outra postagem explicando o que é).
Dito o que são ponteiros, continuaremos, alguns já usaram ponteiros para int ( int  *myint), para strings (char * myarray), mas a pergunta é e ponteiros pra funções? 
Sim! ponteiros pra funções...

Ex:
(*)();
int (*ptFunc)();

e a atribuição é dada da seguinte forma;

sendo uma função:

int soma (int a, int b){
return a+b;
}

int (*ptfunc)();
// Atribuição da função a um ponteiro de função
ptFunc = &soma;

Usa-se o ponteiro normalmente como se usaria a função normal


Exemplo de um programa em C:

#include

/* funções simulando métodos e struct simulando o objeto*/
int envelhecer(int *i){
    return ++(*i);
}
struct {
    int idade;
    char nome[100];
    int (*func)();
}pessoa;

int main(){
    struct pessoa;
    pessoa.idade = 5;
    pessoa.func = &envelhecer;
    printf("%d\n", pessoa.idade);
    printf("idade = %d\n", pessoa.func(&pessoa.idade));
    printf("%d\n", pessoa.idade);
}

#Compartilhar: Facebook Twitter Google+ Linkedin Technorati Digg

0 comentários:

Postar um comentário

Colaboradores

Tecnologia do Blogger.

Twitter

Facebook: