C基础-函数
  rb2XW0fjLLT8 2023年11月02日 65 0

库函数

原因:因有些功能会频发使用

库函数具体介绍可查下方链接:

strcpy - C++ Reference (cplusplus.com)

自定义函数

返回值类型 函数名(形参)
{
  语句;
}

函数的调用

形参:在不接收值时,不占用内存

实参:占用内存,可以是常量,变量,表达式,函数

相关具体位置可参看下方代码

传值调用

形参和实参有不同内存块(不改变实参的值)

int jug(int a)	//形参
{
	int i = 0;

	for (i = 2; i <= sqrt(a); i++)
	{
		if (a % i == 0)
		{
			return 0;
			break;
		}
	}
	if (i > sqrt)
	{
		return 1;
	}
}
int main()
{
	int a = 0;

	printf("请输入一个数字>>>");
	scanf("%d", &a);

	if (jug(a))	//实参
	{
		printf("该数是素数\n");
	}
	else
	{
		printf("该数不是素数");
	}
	return 0;
}

传址调用

函数内外部之间有联系(需要改变实参的值)

void swap2(int* pa, int* pb)	//形参
{
	int tmp = 0;
	tmp = *pa;
	*pa = *pb;
	*pb = tmp;
}
int main()
{
	int a = 10;
	int b = 20;

	printf("a=%d b=%d", a, b);
	swap2(&a, &b);	//实参

	printf("a=%d b=%d", a, b);

	return 0;
}

函数的嵌套引用和链式访问

嵌套引用

函数引用函数

void line1()
{
  printf("zhang\n");
}
void line3()
{
  for(i = 0; i < 3; i++)
  {
    line1();
  }
  int main()
  {
   	void line3(); 
  }

链式访问

一个函数的返回值作为另一个函数的参数

printf("%d", strlen("abc");

函数的声明和定义

函数声明

放在调用之前,一般放在头文件中

函数定义

指函数的具体的功能实现

下面是对函数声明和定义的一般使用案例

add.h
int add(int a, int b);

add.c
int add(int a, int b)
{
  z = a+b;
 	return z;
}

main.c
{
	#inculde "add.h"		//库函数用<>,自定义函数用""
	int a = 10;
  int b = 15;
  z = add(a, b);
}


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: C基础-递归 下一篇: C基础-循环
  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  HE3leaVn7jMN   2023年11月24日   29   0   0 Timei++#include
  HE3leaVn7jMN   2023年11月26日   29   0   0 i++#include
  xfEU0RRJpeyr   2023年11月02日   50   0   0 代码块#definei++
  3n45YYmVLV9P   2023年11月13日   28   0   0 cii++#include
rb2XW0fjLLT8