编程论坛
注册
登录
编程论坛
→
C++教室
如何理解c++编程中的函数
楚煜
发布于 2020-01-31 23:31, 2239 次点击
c++函数学下来感觉有些模糊,如void函数,求大神们赐教
9 回复
#2
叶纤
2020-02-01 12:38
www.
中第二章的2.1-----2.5节是讲函数的包括void函数
#3
雪影辰风
2020-02-01 12:54
函数这种东西其实是对功能的一种打包,void是函数的返回值类型,既然是无类型,也就是没有返回值,所以直接打 return; 然后函数后面的括号,这里面是用来传入参数的,举个例子:
int maxn=max(a,b);
这里我们用max函数求出a和b最大的那个,函数后面的括号内用逗号隔开的就可以理解为留给参数的位置,你想想,如果不把这两个值给函数,那函数怎么知道你需要对这两个数进行处理呢?
所以max函数定义如下(不是C++头文件里的定义)
程序代码:
int
max(
int
x,
int
y) {
//
这里我们在函数里开辟了两块整数空间(内存)给了x和y,分别用来装a和b的值,然后进行大小比较,返回大的那个
if
(x>=y)
return
x;
else
return
y;
}
我们再举一个例子:
swap函数,用于交换两个变量的值
分析一下,既然是交换两个变量的值,那么我们需不需要返回两个数值的其中一个
当然是不需要,所以这里我们用void类型
程序代码:
void
swap(
int
&x,
int
&y) {
//
“&”叫做取地址符号,在变量前面意味着这个变量传址调用,也就是x不再是自己单独的一块空间,而用的是a的空间内存,y同理
int
t=x;
//
进行交换【我们假设,有两杯牛奶A和B,如果要将两杯牛奶互换,那么我们不能直接倒,所以我们需要另一只空杯子,将A或B倒入空杯,然后将另一杯倒入A或B】
x=y;
y=t;
return
;
}
希望以上内容对你有用,谢谢阅读!
#4
return_0
2020-02-04 19:16
是一种定义出来的,同main一样的一种工具,也可以当成值来使用。
其他的都和@雪影辰风 说的一样
还有,void型根本不需要return,如:
程序代码:
void
func(
int
a,
int
b){
a+=b;
}
即可完成定义,无需
return
;
#5
雪影辰风
2020-02-05 20:35
回复 4楼 return_0
……,怎么说呢,那是习惯,但是按照以前严格或者说标准格式来说,每个函数必须有且只有一个return(函数口)。不过你说的也没错,现在已经没有这么严格要求【其实我也不写这句】,写这句是为了让楼主明白。
#6
return_0
2020-02-06 15:04
我讲究能简则简嘛。
#7
return_0
2020-02-06 15:11
其实我不怎么喜欢用void函数,我觉得函数可以做到多功能。
程序代码:
int
swap_max(
int
&x,
int
&y){
int
temp;
temp=x;
x=y;
y=temp;
if
(x>y){
return
x;
}
return
y;
}
#8
return_0
2020-02-15 11:40
建议用指针代替地址
#9
楚煜
2020-02-15 12:13
谢谢大家~现在写函数的时候不会像以前一样混起来了
#10
maomao12345
2020-03-24 10:07
函数就是一个脚本,可以使代码更加简单
1