前言:
此刻咱们对“c语言参数传递过程”大约比较注重,你们都想要分析一些“c语言参数传递过程”的相关知识。那么小编在网摘上网罗了一些有关“c语言参数传递过程””的相关知识,希望咱们能喜欢,朋友们一起来了解一下吧!1、函数的参数传递
传递方式
函数之间的参数传递方式:全局变量(不建议使)-全局变量变是在函数体外说明的变量,它在程序中的每个函数里都是可见的-全局变量一经定义后就会在程序的任何地方可见,函数调用位置不同,程序的执行结果可能会受影响,不建议使用。值传递方式-调用函数将实参传递给被调用的函数,被调用函数将创建同类型的形参并用实参初始化-形参是新开辟的存储空间,因此,在函数中变形参的值,不会影响到实参。地址传递方式(建议使用)-按地址传递,实参为变量的地址,而形参为同类型的指针-被调用函数中对形参的操作,将直接改就实参的值,(被调用函数对指针的目标操作相当于对实参本体的操作)例: x和y交换#include <stdio.h>void swap (int *x,int *y){ int t; t =*x; *x =*y; *y=t;}int main(){ int a=10; int b=20; swap(&a,&b); printf("x=%d y=%d\n",a,b); return 0;}输出:x=20 y=10
程序实例:
编写一个函数,统计字符串中小写字母的个数,并把字符串中的小写字母转化为大转字母#include <stdio.h>int str_fun (char * p){ int num=0; while(*p){ //*p!='\0' if(*p <='z'&&*p>='a'){ *p-=32; num++; } p++; } return num;}int main(){ char s[]="fafsfe12f45ef15ew5e5f1ew51"; int n = str_fun(s); printf("%d %s\n",n,s); return 0;}执行输出: 15 FAFSFE12F45EF15EW5E5F1EW51总结
函数的参数传递,包括全局变量、值传递和地址传递三种方式思考
值传递和地址传递有什么区别?如何编程可以实现地址传递方式也不能改变实参?
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #c语言参数传递过程