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)即可

相关推荐
七号驿栈9 分钟前
07_汽车信息安全算法在线验证工具(测试报告)
算法
啦哈拉哈26 分钟前
【Python】知识点零碎学习4
python·学习·算法
sycmancia28 分钟前
C语言学习06——函数的定义
c语言
定偶31 分钟前
Linux进程管理和进程间通信机制
c语言·进程·共享内存·管道·信号量·消息列队
爱喝可乐的老王31 分钟前
线性回归模型案例:广告投放效果预测
算法·回归·线性回归
tianyuanwo1 小时前
深入浅出SWIG:从C/C++到Python的无缝桥梁
c语言·c++·python·swig
程序员-King.1 小时前
day151—双端队列—找树左下角的值(LeetCode-513)
算法·leetcode·二叉树·双端队列·队列
苦藤新鸡1 小时前
15 .数组右移动k个单位
算法·leetcode·动态规划·力扣
狐572 小时前
2026-01-19-牛客每日一题-阅读理解
笔记·算法·牛客
橘颂TA2 小时前
【剑斩OFFER】算法的暴力美学——力扣 130 题:被围绕的区域
算法·leetcode·职场和发展·结构与算法