C语言之函数的参数

一.函数的参数

1.实参:真实传给函数的参数

实参可以是:常量 变量 表达式 函数等

无论实参是何种类型的量,在进行函数调用时,他们都必须是确定的值,以便把这些值传送给形参

2.形参:值函数括号中的变量,形式参数只有在被调用时才实例化(分配内存单元),当函数调用完后自动销毁 既形式参数只在函数中有效

3.当实参传递给形参时,形参是实参的一个临时拷贝 所以对形参的修改不能改变实参

cs 复制代码
#include<stdio.h> 
//交换
void Swap(int* x,int* y){
	int z=0;
	z=*x;
	*x=*y;
	*y=z;	
} 
int main()
{
	int a = 20;
	int b = 10;
	Swap(&a,&b);
	printf("交换完成:a=%d,b=%d",a,b);
}

使用指针:

通过传递实参的地址(即指针),函数内部可以通过解引用指针来修改实参的值。

使用结构体:

通过传递一个包含多个成员的结构体,函数内部可以修改结构体的成员。

二.函数的调用

1.传值调用

函数的形参和实参分别占有不同的内存块,对形参的修改不会影响实参

2.传址调用

传址调用是把函数外部创建变量的内存地址传递给函数参数的一种函数调用方式 这种传参方式可以让函数和函数外边的变量建立起真正的联系,也就是函数内部可以直接操作函数外部的变量

例:判断是否为素数

cs 复制代码
#include<stdio.h> 
int main(){
	int i;
	for(i=0;i<=100;i++)
	{
		//判断是否为素数用2~i-1试除i即可
		int flag=1;//flag是1表示i是素数 
		int j=0;
		for(j=2;j<=i-1;j++){
			if(i%j==0){
				flag=0;
				break;
			} 
		} 
		if(flag==1)
		    printf("%d",i);
	}
	return 0;
}
 

优化:若i不为素数 则在1到小于等于sqr(i)的数中必有一个因子 则只需判断2-sqr(i)即可

相关推荐
小白编程锤炼16 分钟前
深入解析:质量门禁
人工智能·算法·架构·vibe-coding
程序leo源38 分钟前
C语言知识总结
c语言·开发语言·c++·经验分享·笔记·青少年编程·c#
‎ദ്ദിᵔ.˛.ᵔ₎1 小时前
C++哈希表
数据结构·c++·散列表
yongui478341 小时前
基于 GA 优化的 BP 神经网络算法分析与 MATLAB 实现
神经网络·算法·matlab
爱编码的小八嘎1 小时前
C语言完美演绎9-30
c语言
爱编码的小八嘎2 小时前
C语言完美演绎9-28
c语言
阿旭超级学得完2 小时前
C++11(初始化)
java·开发语言·数据结构·c++·算法
黎阳之光2 小时前
黎阳之光:视频孪生硬核赋能,共启数字孪生水利监测新征程
大数据·人工智能·算法·安全·数字孪生
云淡风轻~窗明几净2 小时前
关于角谷猜想的五行小猜想
数据结构·算法
广州灵眸科技有限公司2 小时前
瑞芯微(EASY EAI)RV1126B openclaw部署接入飞书
linux·网络·人工智能·算法·yolo·飞书