Publicado em Programação

Bibliotecas de funções – Uma abordagem em linguagem C

As bibliotecas de funções são coleções de subprogramas (funções/procedimentos) às quais um programador pode recorrer quando escreve um programa de computador. A principal vantagem resulta da possibilidade de utilização compartilhada, consequência direta da sua estrutura modular.

Um programa muito simples, como é o caso do célebre “Hello world!”, é suficiente para possibilitar uma análise a este respeito:

A – O programa “Hello world!”

#include <stdio.h>
int main()
{
	printf("Hello world!\n");
	return 0;
}
  • main() é uma função que, por ser de natureza obrigatória, não é muitas vezes olhada como tal;
  • printf() também é uma função;
  • stdio.h é uma biblioteca que contém funções que possibilitam realizar operações de input/output;
  • a função printf() faz parte da biblioteca stdio.h, daí a necessidade de utilização da diretiva de compilação #include<stdio.h>

Pretendo de seguida, de forma muito simples e objetiva, realizar sucessivas alterações a este programa, passando pela utilização de funções, e culminando com a criação de uma biblioteca de funções pessoais.

B – O programa “Hello world!” recorrendo a uma função

Pode ser considerado um exemplo um bocado forçado, mas vamos supor que pretendíamos isolar a mensagem na função mensagem().

#include <stdio.h>

void mensagem()
{
	printf("Hello world!\n");
}

int main()
{
	mensagem();
	return 0;
}

Com esta alteração foi possível:

  • isolar a mensagem a ser exibida;
  • independentemente da complexidade da tarefa executada pela função mensagem(), esta fica a partir deste ponto acessível a partir de qualquer linha de código, bastando para o efeito invocar.

C – O programa “Hello world!” recorrendo a uma função, que faz parte de um biblioteca

Desta feita, pretendemos passar a função mensagem() para uma biblioteca que designaremos de biblioteca.h.

O programa resume-se agora à inclusão de uma biblioteca ( biblioteca.h ), da qual pretendemos utilizar uma função ( mensagem() ).

#include "biblioteca.h"
int main()
{
	mensagem();
	return 0;
}

E na biblioteca ( biblioteca.h ) armazenamos o código da função:

#include <stdio.h>

void mensagem()
{
	printf("Hello world!\n");
}

Conclusão:

  • a função mensagem() poderá ser utilizada em qualquer programa, bastando para o efeito a inclusão da biblioteca respetiva( biblioteca.h  );
  • qualquer alteração do programa principal não irá afetar o desempenho da função;
  • por outro lado, qualquer alteração ao código da função irá refletir-se em todos os programas que a utilizam.
  • quanto ao que fica por dizer, este é também um espaço de debate …
Anúncios

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s