在C语言中,函数参数的传输主要通过以下两种方式:
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站建设、成都网站制作、鄂托克网络推广、小程序开发、鄂托克网络营销、鄂托克企业策划、鄂托克品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供鄂托克建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
1、值传递(Pass by Value)
2、地址传递(Pass by Address)
1. 值传递(Pass by Value)
值传递是指将实际参数的值传递给形式参数,在这种情况下,形式参数和实际参数占用不同的内存空间,当函数被调用时,实际参数的值被复制到形式参数所在的内存空间,函数内部对形式参数的修改不会影响到实际参数。
示例代码
#includevoid func(int a) { a = 10; } int main() { int x = 5; printf("Before calling func: x = %d ", x); func(x); printf("After calling func: x = %d ", x); return 0; }
输出结果:
Before calling func: x = 5 After calling func: x = 5
从输出结果可以看出,尽管在func
函数内部修改了形式参数a
的值,但实际参数x
的值并未受到影响。
2. 地址传递(Pass by Address)
地址传递是指将实际参数的地址传递给形式参数,在这种情况下,形式参数和实际参数指向同一块内存空间,当函数被调用时,实际参数的地址被复制到形式参数所在的内存空间,函数内部对形式参数的修改会影响到实际参数。
示例代码
#includevoid func(int *a) { *a = 10; } int main() { int x = 5; printf("Before calling func: x = %d ", x); func(&x); printf("After calling func: x = %d ", x); return 0; }
输出结果:
Before calling func: x = 5 After calling func: x = 10
从输出结果可以看出,在func
函数内部修改了形式参数a
所指向的内存空间的值,实际参数x
的值也受到了影响。
文章标题:c语言中函数的参数怎么传输
转载来于:http://www.gawzjz.com/qtweb/news29/197829.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联