c语言参数传递浅析,C语言之形参和实参浅议1

C语言之形参和实参

1).定义

形参:形式参数。

就是定义函数的时候,写在函数名小括号后面的参数叫形参

实参:实际参数。

就是调用函数的时候,调用函数时写在函数名小括号后面的参数就叫实参

2).注意项

a.实参既可以放常量,也可以放变量,还可以放表达式;形参:它其实可以理解为就是这个函数的局部变量

b.实参给形参传值,其实只是相当于给函数的形参(局部变量)赋值

c.值传递:在函数内改变了形参的值,不会影响到外面的实参

d.在C语言中,除了数组以外,所有的类型作为实参传递都是值传递

二 有参函数

带参数的函数定义语法:

void  函数名(类型 参数名)

{

函数体;

}

应用场景:当函数完成某个功能必须要外界传入一些数据的时候,就用参数

tips:代码例子如下

#include

/* 判断一个数是不是水仙花数*/

void isFlower(int num)

{

int bai = num / 100;

int shi = num / 10 % 10;

int ge = num % 10;

//如果 百*百*百 + 十*十*十 + 个*个*个 等于这个数

if( bai*bai*bai + shi*shi*shi + ge*ge*ge == num){

//就是水仙花数

printf("%d是水仙花数\n",num);

}else{

//    否则 不是水仙花数

printf("%d不是水仙花数\n",num);

}

}

//2、写一个函数,求指定某个数到某个数之间所有的整数的累加和

//如:3到8,算出3+4+5+6+7+8 = ?

void getN2MSum(int n,int m)

{

int sum = 0;

if(n < m){ //n比m小的情况

for (int i=n; i<=m; i++) {

sum += i;

}

}else{ //m比n小的情况

for (int i=m; i<=n; i++) {

sum += i;

}

}

printf("%d到%d之间的和为%d\n",n,m,sum);

}

// 3、用函数来实现判断一个年份是不是闰年

void isRunYear(int year)

{

if( year % 400 ==0  || (year%4==0 && year %100!=0) )

{

printf("%d年是闰年\n",year);

}else{

printf("%d年是平年\n",year);

}

}

int main(int argc, const char * argv[])

{

//调用语法:函数名(实参列表);

isFlower(200);

getN2MSum(100,1);//10+11+12....+20

isRunYear(1900);

return 0;

}

51最常用实参延时

void delay(void)//固定时间

{

unsigned int i,j ;

for(i=0;i<100;i++)

{

for(j=0;j<800;j++)         ;

}

}

51最常用形参延时

void delay(uint k)//可变时间

{

unsigned int i,j ;

for(i=0;i

{

for(j=0;j<800;j++) ;

}

}

LCD12864带指针多形参函数

void Display(uchar zhuoyou,  uchar ye,  uchar shuonie,  uchar *p)

{

uchar i;

Select_zhuoyou(zhuoyou);

Set_ye(ye);

Set_shuonie(shuonie);

for(i=0;i<16;i++)

{

wridat(p[i]);

}

Set_ye(ye+1);

Set_shuonie(shuonie);

for(i=0;i<16;i++)

{

wridat(p[i+16]);

}

}

先到此,后续.............

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值