函数声明与定义的小知识

#include <stdio.h>
void num(int a, int b);
//void num(int,int);//有效
//void num(int a=10,int b);//无效//因为默认实参不在形参列表结尾,就理解成实参不在形参定义时赋值。
//void num(int a=10,int b=20);//有效//但并不会改变传参的结果,意思是,传递到参数是不会重新定义,无论形参定义多少,只要实参不变,永远是20

int main(void)
{
    
    
	int a = 10, b = 10;
	num(a, b);
	return 0;
}
void num(int a, int b)
{
    
    
	printf("%d\n", a + b);
}
#include <stdio.h>
void num(int a, int b);
int main(void)
{
    
    
	int a = 10, b = 10;
	num(a, b);
	return 0;
}
void num(int c, int d)
{
    
    
	printf("%d\n", c+d);
}

而这种函数声明与定义也是可以正常运行,毕竟声明时连形参名都可以不要,只需要参数个数与类型。要保证参数的作用域不能粗错。
如有问题,求大佬指点。
所有文章中代码都使用VS2019进行编译。
谢谢阅读。
本人小白,所有文字都为加深自己理解。

猜你喜欢

转载自blog.csdn.net/weixin_52199109/article/details/111350468