首页 > 其他分享 >C基础-函数

C基础-函数

时间:2023-10-02 15:01:11浏览次数:39  
标签:函数 形参 int 基础 add printf 实参

库函数

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

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

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);
}


标签:函数,形参,int,基础,add,printf,实参
From: https://blog.51cto.com/u_16284214/7683650

相关文章

  • 重学OI #1 DS(基础篇)
    这里希望通过一个小系列(即重学OI)复习学过的一些重要内容本系列偏向速通式的快速复习或学前预习,不会有大量例题,重在知识点复习,目的在最短的时间内掌握尽可能多的不会的东西因此更偏向文字解释而不是图解,需要一定想象力这是第一集数据结构基础篇,本篇与提高篇和特别篇交错更新......
  • # 2023-2024-1 20231308 《计算机基础与程序设计》第二周学习总结
    2023-2024-120231308《计算机基础与程序设计》第二周学习总结作业信息作业课程2023-2024-1-计算机基础与程序设计作业要求2023-2024-1计算机基础与程序设计第二周作业这个作业的目标学会两本教材第一章的内容,掌握gcc和gdb基本操作作业正文https://www.cnblo......
  • [C语言]动态内存分配遇上函数-经典错误纠错
    题目来自nice2016校招笔试题直接完整代码#include<stdio.h>#include<stdlib.h>#include<string.h>voidGetMemory(char*p)//申请内存{ p=(char*)malloc(100);}voidTest(){ char*str=NULL; GetMemory(str); strcpy(str,"helloworld")......
  • Java基础:meta-info.md文件的作用
    作用概述meta-info.md文件通常是一个用于提供关于软件包或项目的元信息的文本文件。它可以包含各种类型的信息,具体取决于项目的需求和约定。一些常见的元信息包括:项目说明:描述项目的目的、功能、特点等。这可以是一个简短的描述或详细的文档。版本信息:指定软件包或项目的版本号、......
  • init函数
    init函数代码//example.gopackagetestimport( "GoExample/util" "fmt")varA=util.F("example.A")//注意:init函数可以重名funcinit(){ util.F("example.init1")}funcinit(){ util.F("example.init2")}/......
  • 振弦采集仪应用于高层建筑的基础工程详细解决方案
    振弦采集仪应用于高层建筑的基础工程详细解决方案随着高层建筑的不断发展,建筑物的结构更加复杂,对于建筑的安全性能要求也越来越高。其中,建筑的地基工程是高层建筑结构安全的基础保障,而振弦采集仪可以为地基工程提供精确的监测数据,保障建筑的安全性。振弦采集仪主要是指一种在地震......
  • 【C++】函数重载 ③ ( 为函数指针赋值重载函数 )
    文章目录一、函数指针回顾1、函数指针概念2、函数指针语法3、代码示例-函数指针示例二、为函数指针赋值重载函数1、为函数指针赋值重载函数2、代码示例-为函数指针赋值重载函数博客总结:重载函数:使用相同的函数名,定义不同的函数参数列表;判定标准:只有函数......
  • 44、Flink之module模块介绍及使用示例和Flink SQL使用hive内置函数及自定义函数详细示
    文章目录Flink系列文章一、模块Modules1、模块介绍2、模块类别ModuleTypes1)、CoreModule2)、HiveModule3)、User-DefinedModule3、模块生命周期和解析顺序ModuleLifecycleandResolutionOrder4、模块Modules的使用1)、SQL方式2)、编码方式-java二、HiveFunctions内置函数和自定......
  • 振弦采集仪应用于高层建筑的基础工程详细解决方案
    振弦采集仪应用于高层建筑的基础工程详细解决方案随着高层建筑的不断发展,建筑物的结构更加复杂,对于建筑的安全性能要求也越来越高。其中,建筑的地基工程是高层建筑结构安全的基础保障,而振弦采集仪可以为地基工程提供精确的监测数据,保障建筑的安全性。振弦采集仪主要是指一种在地震、......
  • Compose基础示例(列表,状态,Image,Text Field, 定时器)
    @file:Suppress("UNREACHABLE_CODE")packagecom.by.composeappimportandroid.os.Bundleimportandroid.util.Logimportandroid.widget.Toastimportandroidx.activity.ComponentActivityimportandroidx.activity.compose.setContentimportandroidx.co......