C Primer Plus 第5章 运算符、表达式和语句 5.6 带有参数的函数

本文通过pound.c程序示例,介绍了C语言中函数参数的基本概念,包括形式参数与实际参数的区别,以及如何通过函数原型来指定参数类型。同时解释了参数类型不匹配时编译器如何进行类型转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

程序清单 5.15 pound.c程序

/*pound.c --定义带有一个参数的函数*/
#include <stdio.h>
void pound(int n);
int main ()
{
    int times = 5;
    char ch = '!';
    float f = 6.0;
    pound (times);
    pound (ch);
    pound ((int) f);
    return 0;
}
void pound(int n)
{
    while (n-->0)
    printf("#");
    printf("\n");
}

如果函数不接受参数,函数头里的圆括号将包含关键字void。因为此函数接受一个int类型的参数,所以圆括号里包含一个名字为n的int类型变量的声明。

声明一个参数,就创建了一个被称为形式参数或形式参量的变量。在本例中形式参数是叫做n的int类型变量。函数调用pound(times)把times的赋给n。我们称函数调用传递一个值,这个值被称为实际参数或都实际变量。

参数与参量

对实际参数或实际参量使用术语参数;对形式参数或形式参量使用术语参量。遵循这个约定,我们可以说参量是变量,而参数是由函数调用提供的值,并且将它赋给相对应的参量。

函数中的变量名字是局部的,这意味着在一个函数里定义的名字不会与其他地方相同的名字发生冲突。

原型(prototype)是一个函数声明,它描述了函数的返回值和参数。

void pound(int n);

这个函数原型,说明了关于pound的两件事:

*函数没有返回值;

*函数接受一个int类型的参数。

因为编译器在main()使用pount()之前看到了这个原型,所以编译器知道pound()应该有什么样的参数;并且在需要使实际参数的类型与原型保持一致时,编译器会插入一个类型指派。例如,pound(3.859)将被转换为pound(3)。

转载于:https://my.oschina.net/idreamo/blog/678859

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值