Linguagem C - parâmetros reais e parâmetros formais de notas de funções_estudo

introdução

A importância da linguagem C e funções na programação

Uma frase do romance “O Espadachim Lutador na Neve” resume a importância das funções na linguagem C: “Se o céu não tivesse me dado à luz, Li Chungang, a espada seria como uma longa noite”. a programação é a mesma de Li Chungang na espada.

As funções da linguagem C desempenham um papel importante na reutilização de código, design modular, parâmetros de função, pilha de chamadas de função e recursão. O uso adequado das funções pode melhorar a eficiência, a legibilidade e a facilidade de manutenção do seu programa.

componentes de função

As funções na linguagem C consistem nas seguintes partes:

  1. Nome da função: O nome da função é o identificador da função e é usado para chamar a função no programa. Os nomes das funções devem ser descritivos para que seja fácil entender o que a função faz.
  2. Lista de parâmetros: A lista de parâmetros inclui o tipo, ordem e número de parâmetros de entrada aceitos pela função. Cada parâmetro na lista de parâmetros possui um tipo e um identificador.
  3. Tipo de valor de retorno da função: O tipo de valor de retorno da função é o tipo de dados retornado após a execução da função. Se a função não retornar nenhum valor, o tipo de valor de retorno será nulo.
  4. Corpo da função: O corpo da função é o bloco de instruções que contém o bloco de código específico para a execução da função. Define como a função é executada, incluindo o processamento dos parâmetros de entrada e o cálculo dos valores de retorno.

Para criar uma função, ela deve conter os elementos básicos acima.

A seguir está um exemplo simples que mostra a composição das funções da linguagem C:

int add(int a, int b)  // 函数名:add,参数列表有两个 int 类型的参数 a 和 b
{
    
       
    int result = a + b;    // 计算 a 和 b 的和,存储到 result 变量中
    return result;         // 返回 result 的值
}

Neste exemplo, o nome da função é add. A lista de parâmetros tem dois parâmetros de tipo int a e b. O tipo de valor de retorno da função é int. O corpo da função contém instruções que calculam a soma de a e b e armazenam o resultado no resultado variável.Finalmente, o valor do resultado é retornado por meio da instrução return.

Na linguagem C, os parâmetros formais e os parâmetros reais são partes importantes das funções.

Visão geral dos parâmetros formais

Parâmetro formal: O nome completo é "parâmetro formal". É uma variável listada entre parênteses após o nome da função quando a função é definida. É utilizada para receber os parâmetros passados ​​​​quando a função é chamada.

A função dos parâmetros formais é realizar a conexão entre a função chamadora e a função chamada.Normalmente, os dados processados ​​pela função, os fatores que afetam a função da função ou o resultado do processamento da função são usados ​​como parâmetros formais.

Visão geral dos parâmetros reais

Parâmetro real: O nome completo é "parâmetro real". Os parâmetros reais são os valores reais passados ​​​​para a função ao chamar a função. Eles podem ser constantes, variáveis ​​​​ou expressões.

A função dos parâmetros reais é fornecer os dados necessários para a execução da função e são usados ​​dentro da função.

A relação entre parâmetros reais e formais

em,Os parâmetros reais e os parâmetros formais devem ser consistentes em número, tipo e ordem, caso contrário ocorrerão erros de compilação.

Na linguagem C, os dados de parâmetros formais e parâmetros reaisOs tipos devem ser compatíveis, ou seja, a conversão de tipo pode ser realizada entre eles.

Especificamente, se o parâmetro formal for um tipo de dados básico, como int, e o parâmetro real for do tipo double, então o parâmetro real converterá o tipo double para o tipo int por meio da conversão de tipo e depois o passará para o parâmetro formal .

Se o parâmetro formal for um tipo de estrutura e o parâmetro real for um tipo de estrutura diferente, então o parâmetro real precisa ser convertido para o mesmo tipo de estrutura que o parâmetro formal por meio de atribuição ou cópia de estrutura.

Se o parâmetro formal for um tipo de ponteiro e o parâmetro real for um tipo de ponteiro diferente, o parâmetro real precisará ser convertido no mesmo tipo de ponteiro que o parâmetro formal por meio da conversão de ponteiro.

Resumindo, quando uma função é chamada, o tipo de dados do parâmetro real deve ser compatível com o parâmetro formal ou pode ser convertido em um tipo compatível por meio da conversão de tipo.

A diferença entre parâmetros formais e reais

diferenças no ciclo de vida

O escopo dos parâmetros formais é limitado ao interior da função. Assim que a execução da função termina, o ciclo de vida dos parâmetros formais também termina.
O escopo dos parâmetros reais geralmente é limitado ao período de chamada da função. Quando a função termina, o ciclo de vida dos parâmetros reais termina.

Do ponto de vista do ciclo de vida, o ciclo de vida dos parâmetros formais é mais curto do que o dos parâmetros reais.

Diferenças no local de armazenamento

Os parâmetros reais e os parâmetros formais possuem espaços de armazenamento separados e não compartilham memória entre eles.

#include <stdio.h>

void func(int a, int b) 
{
    
    
    printf("a = %p, b = %p\n", &a, &b);
}

int main()
 {
    
    
    int x = 10, y = 20;
    printf("x = %p, y = %p\n", &x, &y);
    func(x, y);
    return 0;
}

Insira a descrição da imagem aquiConforme mostrado na figura acima, você pode ver que os endereços de x e y são diferentes dos endereços de a e b.
Insira a descrição da imagem aqui
Conforme mostrado na imagem acima, xey obtêm os valores de aeb, mas os endereços de xey são diferentes dos endereços de aeb, então podemos entendê-los comoO parâmetro formal é uma cópia temporária do parâmetro real

Acho que você gosta

Origin blog.csdn.net/yjagks/article/details/132116681
Recomendado
Clasificación