logo

Funções C

Em c, podemos dividir um programa grande em blocos de construção básicos conhecidos como função. A função contém o conjunto de instruções de programação delimitadas por {}. Uma função pode ser chamada várias vezes para fornecer reutilização e modularidade ao programa C. Em outras palavras, podemos dizer que a coleção de funções cria um programa. A função também é conhecida como procedimento ou sub-rotina em outras linguagens de programação.

Vantagem de funções em C

Existem as seguintes vantagens das funções C.

  • Ao usar funções, podemos evitar reescrever a mesma lógica/código repetidas vezes em um programa.
  • Podemos chamar funções C quantas vezes quiser em um programa e de qualquer lugar dele.
  • Podemos rastrear facilmente um grande programa C quando ele é dividido em múltiplas funções.
  • A reutilização é a principal conquista das funções C.
  • No entanto, a chamada de função é sempre uma sobrecarga em um programa C.

Aspectos Funcionais

Existem três aspectos de uma função C.

    Declaração de funçãoUma função deve ser declarada globalmente em um programa C para informar ao compilador sobre o nome da função, os parâmetros da função e o tipo de retorno.
    Chamada de funçãoA função pode ser chamada de qualquer lugar do programa. A lista de parâmetros não deve diferir na chamada e na declaração da função. Devemos passar o mesmo número de funções conforme declarado na declaração da função.Definição de funçãoEle contém as instruções reais que devem ser executadas. É o aspecto mais importante ao qual o controle chega quando a função é chamada. Aqui, devemos observar que apenas um valor pode ser retornado da função.
SNAspectos da função CSintaxe
1Declaração de funçãoreturn_type nome_da_função (lista de argumentos);
2Chamada de funçãonome_da_função (lista_de_argumentos)
3Definição de funçãoreturn_type function_name (lista de argumentos) {corpo da função;}

A sintaxe de criação de função em linguagem c é fornecida abaixo:

 return_type function_name(data_type parameter...){ //code to be executed } 

Tipos de funções

Existem dois tipos de funções na programação C:

    Funções da biblioteca:são as funções declaradas nos arquivos de cabeçalho C, como scanf(), printf(), get(), puts(), ceil(), floor() etc.Funções definidas pelo usuário:são as funções que são criadas pelo programador C, para que ele possa utilizá-las diversas vezes. Reduz a complexidade de um grande programa e otimiza o código.
Função C

Valor de retorno

Uma função C pode ou não retornar um valor da função. Se você não precisar retornar nenhum valor da função, use void como tipo de retorno.

Vamos ver um exemplo simples de função C que não retorna nenhum valor da função.

Exemplo sem valor de retorno:

 void hello(){ printf('hello c'); } 

Se você deseja retornar qualquer valor da função, você precisa usar qualquer tipo de dados, como int, long, char, etc. O tipo de retorno depende do valor a ser retornado da função.

img alinhamento css

Vamos ver um exemplo simples de função C que retorna o valor int da função.

Exemplo com valor de retorno:

 int get(){ return 10; } 

No exemplo acima, temos que retornar 10 como valor, então o tipo de retorno é int. Se você deseja retornar um valor de ponto flutuante (por exemplo, 10,2, 3,1, 54,5, etc), você precisa usar float como o tipo de retorno do método.

 float get(){ return 10.2; } 

Agora, você precisa chamar a função para obter o valor da função.

Diferentes aspectos da chamada de função

Uma função pode ou não aceitar qualquer argumento. Pode ou não retornar qualquer valor. Com base nesses fatos, existem quatro aspectos diferentes das chamadas de função.

  • função sem argumentos e sem valor de retorno
  • função sem argumentos e com valor de retorno
  • função com argumentos e sem valor de retorno
  • função com argumentos e com valor de retorno

Exemplo de função sem argumento e valor de retorno

Exemplo 1

 #include void printName(); void main () { printf('Hello '); printName(); } void printName() { printf('Javatpoint'); } 

Saída

 Hello Javatpoint 

Exemplo 2

 #include void sum(); void main() { printf('
Going to calculate the sum of two numbers:'); sum(); } void sum() { int a,b; printf('
Enter two numbers'); scanf('%d %d',&a,&b); printf('The sum is %d',a+b); } 

Saída

 Going to calculate the sum of two numbers: Enter two numbers 10 24 The sum is 34 

Exemplo de função sem argumento e com valor de retorno

Exemplo 1

travessia de árvore
 #include int sum(); void main() { int result; printf('
Going to calculate the sum of two numbers:'); result = sum(); printf('%d',result); } int sum() { int a,b; printf('
Enter two numbers'); scanf('%d %d',&a,&b); return a+b; } 

Saída

 Going to calculate the sum of two numbers: Enter two numbers 10 24 The sum is 34 

Exemplo 2: programa para calcular a área do quadrado

estrutura de dados
 #include int sum(); void main() { printf('Going to calculate the area of the square
'); float area = square(); printf('The area of the square: %f
',area); } int square() { float side; printf('Enter the length of the side in meters: '); scanf('%f',&side); return side * side; } 

Saída

 Going to calculate the area of the square Enter the length of the side in meters: 10 The area of the square: 100.000000 

Exemplo de função com argumento e sem valor de retorno

Exemplo 1

 #include void sum(int, int); void main() { int a,b,result; printf('
Going to calculate the sum of two numbers:'); printf('
Enter two numbers:'); scanf('%d %d',&a,&b); sum(a,b); } void sum(int a, int b) { printf('
The sum is %d',a+b); } 

Saída

 Going to calculate the sum of two numbers: Enter two numbers 10 24 The sum is 34 

Exemplo 2: programa para calcular a média de cinco números.

 #include void average(int, int, int, int, int); void main() { int a,b,c,d,e; printf('
Going to calculate the average of five numbers:'); printf('
Enter five numbers:'); scanf('%d %d %d %d %d',&a,&b,&c,&d,&e); average(a,b,c,d,e); } void average(int a, int b, int c, int d, int e) { float avg; avg = (a+b+c+d+e)/5; printf('The average of given five numbers : %f',avg); } 

Saída

 Going to calculate the average of five numbers: Enter five numbers:10 20 30 40 50 The average of given five numbers : 30.000000 

Exemplo de função com argumento e valor de retorno

Exemplo 1

 #include int sum(int, int); void main() { int a,b,result; printf('
Going to calculate the sum of two numbers:'); printf('
Enter two numbers:'); scanf('%d %d',&a,&b); result = sum(a,b); printf('
The sum is : %d',result); } int sum(int a, int b) { return a+b; } 

Saída

 Going to calculate the sum of two numbers: Enter two numbers:10 20 The sum is : 30 

Exemplo 2: Programa para verificar se um número é par ou ímpar

 #include int even_odd(int); void main() { int n,flag=0; printf('
Going to check whether a number is even or odd'); printf('
Enter the number: '); scanf('%d',&n); flag = even_odd(n); if(flag == 0) { printf('
The number is odd'); } else { printf('
The number is even'); } } int even_odd(int n) { if(n%2 == 0) { return 1; } else { return 0; } } 

Saída

 Going to check whether a number is even or odd Enter the number: 100 The number is even 

Funções da biblioteca C

Funções de biblioteca são funções embutidas em C que são agrupadas e colocadas em um local comum chamado biblioteca. Tais funções são usadas para realizar algumas operações específicas. Por exemplo, printf é uma função de biblioteca usada para imprimir no console. As funções da biblioteca são criadas pelos designers dos compiladores. Todas as funções da biblioteca padrão C são definidas dentro dos diferentes arquivos de cabeçalho salvos com a extensão .h . Precisamos incluir esses arquivos de cabeçalho em nosso programa para fazer uso das funções da biblioteca definidas nesses arquivos de cabeçalho. Por exemplo, para usar as funções da biblioteca como printf/scanf, precisamos incluir stdio.h em nosso programa, que é um arquivo de cabeçalho que contém todas as funções da biblioteca relacionadas à entrada/saída padrão.

A lista dos arquivos de cabeçalho mais usados ​​é fornecida na tabela a seguir.

SNArquivo de cabeçalhoDescrição
1stdio.hEste é um arquivo de cabeçalho de entrada/saída padrão. Ele contém todas as funções da biblioteca relacionadas à entrada/saída padrão.
2conio.hEste é um arquivo de cabeçalho de entrada/saída do console.
3string.hEle contém todas as funções da biblioteca relacionadas a strings, como get(), puts(), etc.
4stdlib.hEste arquivo de cabeçalho contém todas as funções gerais da biblioteca como malloc(), calloc(), exit(), etc.
5matemática.hEste arquivo de cabeçalho contém todas as funções relacionadas às operações matemáticas, como sqrt(), pow(), etc.
6hora.hEste arquivo de cabeçalho contém todas as funções relacionadas ao tempo.
7ctype.hEste arquivo de cabeçalho contém todas as funções de manipulação de caracteres.
8stdarg.hFunções de argumento variável são definidas neste arquivo de cabeçalho.
9sinal.hTodas as funções de tratamento de sinal são definidas neste arquivo de cabeçalho.
10setjmp.hEste arquivo contém todas as funções de salto.
onzelocalidade.hEste arquivo contém funções de localidade.
12errno.hEste arquivo contém funções de tratamento de erros.
13afirmar.hEste arquivo contém funções de diagnóstico.

Detalhes adicionais sobre funções C são fornecidos abaixo:

Existem várias informações adicionais relacionadas às funções C. Alguns deles são os seguintes:

Programação Modular: A habilidade de dividir a programa enorme em módulos menores e mais gerenciáveis ​​é um dos principais benefícios da utilização de funções em C. Cada função pode conter um trabalho específico ou componente de funcionalidade, o que simplifica e esclarece a estrutura geral do programa. Essa estratégia modular melhora a reutilização de código e facilita a manutenção e a depuração.

roda de rolagem não funciona

Reutilização de código: Ao usar funções, você pode criar um determinado algoritmo ou parte da lógica apenas uma vez e utilizá-lo repetidamente em todo o programa. Você pode simplesmente chamar a função sempre que precisar executar o código, evitando que você tenha que duplicá-lo em outro lugar. Não só acelera o desenvolvimento mas também garante consistência e diminui a possibilidade de cometer erros.

Encapsulamento e Abstração: Ao obscurecer as especificidades da implementação da funcionalidade, as funções oferecem um nível de abstração. A interface de um protótipo de função pode ser definida em um arquivo de cabeçalho , enquanto a implementação real pode ser fornecida em um arquivo de origem diferente. Outras partes do programa podem utilizar a função sem a necessidade de entender como ela é implementada internamente devido à separação entre interface e implementação.

Manutenção fácil do programa: Um programa pode ser compreendido e mantido mais facilmente se for dividido em funções menores. A capacidade de atribuir uma responsabilidade específica a cada função torna o código mais legível e facilita a solução de problemas e a depuração. Você pode se concentrar na função necessária sem afetar outras partes do programa se um erro for encontrado ou uma modificação for necessária.

Colaboração aprimorada: As funções permitem que os desenvolvedores que trabalham no mesmo projeto colaborem. O programa pode ser dividido em funções para que vários membros da equipe possam trabalhar funções diferentes de uma vez só. Os desenvolvedores podem integrar facilmente o seu trabalho nas funções se as interfaces forem bem especificadas, o que melhora a produtividade e promove um desenvolvimento eficaz.

Passando o parâmetro: Você pode enviar argumentos ou dados para uma função em C para que ela possa processá-los. A função pode realizar ações e gerar resultados usando essas entradas. Você pode aumentar a flexibilidade e adaptabilidade das funções passando parâmetros, o que aumentará a versatilidade geral do seu programa.

Valores de retorno: As funções podem enviar valores de volta ao código que as chamou, permitindo a comunicação dos resultados da execução da função. Você pode utilizar o valor retornado em outras áreas do programa após fazer cálculos ou manipulação de dados dentro da função. Valores de retorno são especialmente úteis quando você precisa calcular um resultado ou estabelecer uma condição dependendo da saída da função.

Conclusão:

Concluindo, as funções são essenciais para a programação C porque fornecem ao programa organização, reutilização e modularidade . Os desenvolvedores podem evitar a criação repetida do mesmo código, dividindo programas enormes em funções menores, tornando o código mais eficaz e mais simples de manter. Qualquer lugar do programa pode chamar uma função, proporcionando flexibilidade e melhorando o fluxo de controle.

O declaração, chamada , e definição de funções são apenas algumas de suas muitas características. O compilador é informado pela declaração de função do nome, argumentos , e tipo de retorno . É possível chamar uma função com ou sem parâmetros e com ou sem valor de retorno . Os programadores constroem funções definidas pelo usuário para melhorar a legibilidade e otimização de seu código, enquanto a biblioteca C funciona como imprimirf() e scanf() fornecer recursos predefinidos.

No geral, as funções são blocos de construção cruciais na programação C, proporcionando benefícios que incluem maior organização, reutilização de código e rastreamento simples de programas enormes. As chamadas de função podem adicionar alguma sobrecarga, mas suas vantagens superam o impacto mínimo no desempenho. Os programadores podem escrever programas C eficazes e modulares, compreendendo e usando funções.