函数说明
- 格式:doc
- 大小:70.50 KB
- 文档页数:8
函数类型的参数概述说明以及解释1. 引言1.1 概述函数类型的参数在编程中是一个重要的概念。
在许多编程语言中,函数可以接受输入参数,并根据这些参数执行相应的操作或返回结果。
参数允许我们向函数传递数据,以便函数能够根据这些数据做出不同的处理。
了解函数参数类型及其使用方法对于正确地定义和调用函数至关重要。
1.2 文章结构本文将分为五个主要部分来介绍和阐述函数类型的参数。
首先是引言部分,该部分将提供一个关于本文主题的概览和背景知识。
接下来是"函数类型的参数"部分,该部分将详细讨论函数参数的作用、意义以及不同种类的函数参数。
然后,我们将深入探讨传参方式的说明,并比较传值调用、传址调用和引用传递三种不同方式之间的差异。
最后,在结论部分对整篇文章进行总结,并给出一些相关建议和发展方向。
1.3 目的本文旨在提供有关函数类型的参数及其使用方法的全面介绍。
通过阅读本文,读者将能够了解到:- 函数类型参数在编程中扮演着什么样重要角色;- 为什么需要不同种类的函数参数,并且它们各自的作用和意义;- 如何在代码中声明和使用不同类型的函数参数;- 传值调用、传址调用和引用传递之间的区别及其适用场景。
通过对函数类型的参数进行细致的解释和探讨,读者将能够更好地理解和应用这一概念,从而提高他们编程技能的水平。
无论是处于初学者阶段还是有一定经验的程序员,本文都将为您提供实用而详尽的信息。
2. 函数类型的参数:2.1 参数的作用和意义:函数参数是在函数定义中使用的变量,可以接收外部传递进来的值。
它们允许我们将数据传递给函数并在函数内部使用这些数据。
通过使用函数参数,我们可以使函数更加灵活和可重复使用。
参数可以接收不同的值,使得相同操作可以适用于不同的输入。
此外,参数还能够帮助我们实现模块化编程,将大型程序分解为小功能模块,并通过参数传递必要的数据。
2.2 值类型参数与引用类型参数:在函数中,参数可以是值类型或引用类型。
日期函数函数:DATE说明:返回代表特定日期的序列号。
语法:DATE(year,month,day)参数说明:Year参数 year 可以为一到四位数字。
Month代表每年中月份的数字。
如果所输入的月份大于 12,将从指定年份的一月份开始往上加算。
例如:DATE(2008,14,2) 返回代表 2009 年 2 月 2 日的序列号。
Day代表在该月份中第几天的数字。
如果 day 大于该月份的最大天数,则将从指定月份的第一天开始往上累加。
例如,DATE(2008,1,35) 返回代表 2008 年 2 月 4 日的序列号。
举例:2003/8/28=DATE(2003,8,28)函数:NOW说明:返回当前日期和时间的序列号语法:NOW()举例:2020/2/1 19:12=NOW()可以根据需要设置单元格的格式,只显示日期函数:TODAY说明:返回今天日期的序列号语法:TODAY()举例:2020/2/1=TODAY()函数:YEAR说明:返回某日期对应的年份语法:YEAR(serial_number)举例:2003/12/312003=YEAR(B23)函数:MONTH说明:返回某日期对应的月份语法:MONTH(serial_number)举例:12=MONTH(B23)函数:DAY说明:返回以序列号表示的某日期的天数,用整数 1 到 31 表示。
语法:DAY(serial_number)参数说明:Serial_number为要查找的那一天的日期。
应使用 DATE 函数来输入日期,或者将日期作为其他公式或函数的结果输入例如,可使用函数 DATE(2008,5,23) 输入日期 2008 年 5 月 23 日。
日期不能以文本的形式输入举例:31=DAY(B23)数学函数函数:ABS说明:返回数字的绝对值。
绝对值没有符号语法:ABS(number)举例:10=ABS(-10)函数:INT说明:将数字向下舍入最为接近的整数语法:INT(number)2.2252=INT(A44)2.8672=INT(A45)-2.225-3=INT(A46)-2.867-3=INT(A47)函数:FLOOR说明:将参数 Number 沿绝对值减小的方向向下舍入,使其等于最接近的 significance 的倍数。
常用Excel函数说明1、自动编号函数:=MAX($A$1:A1)+1含义:如果A1编号为1,那么A2=MAX($A$1:A1)+1。
假设A1为1,那么在A2中输入“=MAX($A$1:A1)+1”,回车。
然后用填充柄将公式复制到其他单元格即可。
2、统计某一区域某一数据出现的次数函数:=COUNTIF(K4:K60,”新开”)含义:统计K4到K60单元格中“新开”出现的次数。
假设在K61中输入“新开”,在K62中输入“=COUNTIF(K4:K60,”新开”)”后回车,即可统计出K4至K60单元格中“新开”出现的次数。
3、避免输入相同的数据函数:=COUNTIF(A:A,A2)=1含义:在选定的单元格区域中保证输入的数据的唯一性。
假设在A列中避免输入重复的姓名,先选中相应的单元格区域,如A2至A500,依次选中“数据-有效性-设置”,在“允许”下拉栏中选“自定义”,在“公式”栏中输入“=COUNTIF(A:A,A2)=1”。
单击“确定”完成。
4、在单元格中快速输入当前日期函数:=today()含义:快速输入当前日期,并可随系统时间自动更新。
方法:在选中单元格中输入“=today()”回车,即可输入当前日期。
5、在单元格中快速输入当前日期及时间函数:=now()含义:快速输入当前日期及时间,并可随系统时间自动更新。
方法:在选中单元格中输入“=now()”回车,即可输入当前日期及时间。
6、缩减小数点后的位数函数:=TRUNC(A1,1)含义:将两位小数点变为一位小数点。
方法:例如,A1的数值为“36.99”,需要在B1中显示A1数值小数点后的一位,则在B1中直接输入函数表达式“=TRUNC(A1,1)”,而后将在B1中显示“36.9”。
7、将数据合二为一函数:=CONCA TENA TE(A1,B1)含义:将Excel中的两列数据合并至一列中。
方法:如果要将Excel中的两列数据合并至一列中,可以使用文本合并函数。
excel里把几列数据合并在一起的函数-范文模板及概述示例1:在Excel中,有一些函数可以将几列数据合并在一起,让数据变得更加整洁和易于分析。
以下是几个常用的函数:1. CONCATENATE函数:CONCATENATE函数可将多个单元格中的文本合并在一起。
例如,如果A1单元格中包含“Hello”,B1单元格中包含“World”,则可以在C1单元格中使用以下公式将它们合并在一起:=CONCATENATE(A1, B1)。
结果将显示为“HelloWorld”。
2. &符号:使用&符号也可以将多个单元格中的文本合并在一起。
例如,使用上述示例,可以在C1单元格中使用以下公式:=A1&B1。
结果将与使用CONCATENATE函数相同,显示为“HelloWorld”。
3. TEXTJOIN函数:TEXTJOIN函数是Excel 2019版本或更高版本中提供的一种新的函数。
它可以将多个单元格中的文本合并在一起,并在文本之间插入自定义的分隔符。
例如,如果A1单元格包含“Apple”,B1单元格包含“Banana”,C1单元格包含“Orange”,可以在D1单元格中使用以下公式:=TEXTJOIN(", ", TRUE, A1:C1)。
结果将显示为“Apple, Banana, Orange”。
第一个参数是分隔符,第二个参数表示是否忽略空单元格。
4. CONCAT函数:CONCAT函数也可以将多个单元格中的文本合并在一起,但与CONCATENATE函数不同,CONCAT函数可以接受范围作为参数。
例如,如果A1:C1范围包含“Red”、“Green”和“Blue”,可以在D1单元格中使用以下公式:=CONCAT(A1:C1)。
结果将显示为“RedGreenBlue”。
这些函数可以根据你的需要将多个单元格或单元格范围中的数据合并在一起。
根据你工作表中数据的不同类型和排列方式,选择适合自己的函数来实现数据合并的目的。
欧几里得帽子函数-概述说明以及解释1. 引言1.1 概述欧几里得帽子函数是一种数学函数,被广泛应用于数学和计算机科学领域。
该函数以欧几里得命名,以纪念古希腊数学家欧几里得(Euclid)。
概括而言,欧几里得帽子函数用于计算两个或多个变量之间的最大公约数(GCD)。
最大公约数是指能够同时整除给定数字的最大正整数。
欧几里得帽子函数采用递归的方式计算最大公约数,通过反复使用欧几里得算法,将问题逐步化简为更小的子问题。
欧几里得帽子函数的特点是其简洁性和高效性。
通过递归的方式,这个函数可以迅速计算较大数值之间的最大公约数,同时保持运算速度较快。
这使得它成为了解决很多数学问题的首选方法。
除了在数学领域中的应用,欧几里得帽子函数在计算机科学领域也有重要的作用。
例如,在编程中,经常需要对数字进行约简,以提高算法的效率。
欧几里得帽子函数可以提供一个简单而高效的方法来计算最大公约数,从而简化编程过程。
总之,欧几里得帽子函数是一种重要的数学工具,它通过递归的方式计算两个或多个变量之间的最大公约数。
其简洁性和高效性使得它被广泛应用于数学和计算机科学领域,成为解决问题的有效方法。
在接下来的文章中,我们将深入探讨欧几里得帽子函数的原理、应用和相关扩展。
1.2 文章结构文章结构是指文章的组织和安排方式,它是整篇文章的框架,能够帮助读者更好地理解和掌握文章的内容。
本文将按照以下结构进行展开:2. 正文2.1 第一个要点2.2 第二个要点本文正文部分将包括两个要点,分别是第一个要点和第二个要点,接下来将分别对这两个要点进行详细说明。
2.1 第一个要点在第一个要点中,我们将重点讨论欧几里得帽子函数的基本原理和应用。
首先,我们将介绍欧几里得帽子函数的定义和公式表达方式。
然后,我们将对欧几里得帽子函数的性质和特点进行探讨,包括函数的定义域、值域和图像特征等。
接着,我们还将深入研究欧几里得帽子函数的应用领域,例如在数学、物理和工程等领域中的具体应用案例,并结合实际问题进行解析和说明。
一般地,对于函数f(x)⑴如果对于函数f(x)定义域内的任意一个x,都有f(x)=f(-x)或f(x)/f(-x)=1那么函数f(x)就叫做偶函数。
关于y轴对称,f(-x)=f(x)。
⑵如果对于函数f(x)定义域内的任意一个x,都有f(-x)=-f(x)或f(x)/f(-x)=-1,那么函数f(x)就叫做奇函数。
关于原点对称,-f(x)=f(-x)。
⑶如果对于函数定义域内的任意一个x,都有f(x)=f(-x)和f(-x)=-f(x),(x∈R,且R关于原点对称.)那么函数f(x)既是奇函数又是偶函数,称为既奇又偶函数。
⑷如果对于函数定义域内的存在一个a,使得f(a)≠f(-a),存在一个b,使得f(-b)≠-f(b),那么函数f(x)既不是奇函数又不是偶函数,称为非奇非偶函数。
定义域互为相反数,定义域必须关于原点对称特殊的,f(x)=0既是奇函数,又是偶函数。
说明:①奇、偶性是函数的整体性质,对整个定义域而言。
②奇、偶函数的定义域一定关于原点对称,如果一个函数的定义域不关于原点对称,则这个函数一定不具有奇偶性。
(分析:判断函数的奇偶性,首先是检验其定义域是否关于原点对称,然后再严格按照奇、偶性的定义经过化简、整理、再与f(x)比较得出结论)③判断或证明函数是否具有奇偶性的根据是定义。
④如果一个奇函数f(x)在x=0处有意义,则这个函数在x=0处的函数值一定为0。
并且关于原点对称。
⑤如果函数定义域不关于原点对称或不符合奇函数、偶函数的条件则叫做非奇非偶函数。
例如f(x)=x³【-∞,-2】或【0,+∞】(定义域不关于原点对称)⑥如果函数既符合奇函数又符合偶函数,则叫做既奇又偶函数。
例如f(x)=0注:任意常函数(定义域关于原点对称)均为偶函数,只有f(x)=0是既奇又偶函数。
aoti 函数-概述说明以及解释1.引言1.1 概述在计算机编程中,aoti函数是一个十分常用的函数,它的作用是将字符串转换为整数。
这个函数在处理用户输入时非常有用,可以将用户输入的字符串形式的数字转换为程序所需的整型数据,从而进行计算或者其他操作。
本文将详细介绍aoti函数的用法和应用场景,探讨其优势和不足之处。
通过对这个函数的深入了解,读者可以更加熟练地运用它,提高编程效率和代码质量。
1.2 文章结构文章结构部分的内容:本文分为引言、正文和结论三个部分。
在引言部分中,我们将讨论aoti 函数的概述、文章结构和目的。
在正文部分中,我们将详细介绍aoti函数的功能、应用和优势。
最后,在结论部分我们将对文章进行总结,并展望aoti函数的未来发展,并为读者留下一些结束语。
通过这个结构,读者可以全面了解aoti函数的相关内容,以及它在程序设计中的重要作用。
1.3 目的aoti函数是一个常用的字符串转整数的函数,其主要目的是将字符串表示的数字转换为整数类型。
在实际开发中,经常会遇到需要将用户输入的字符串数字转换为整数的情况,而aoti函数正是为了简化这一过程而设计的。
通过本文的介绍和分析,读者将能够深入了解aoti函数的使用方法和优势,从而在开发中更加灵活和高效地处理字符串转整数的需求。
同时,本文还将探讨aoti函数在不同应用场景中的具体应用,帮助读者更好地理解其作用和价值。
通过本文的阐述,读者将能够更加深入地认识aoti函数,从而提高开发效率和代码质量。
2.正文2.1 aoti函数介绍aoti函数是一个用于将字符串转换为整数的函数。
在C语言中,aoti 函数是stdlib.h头文件中的一个标准库函数,它可以将一个包含数字的字符串转换为对应的整数。
例如,当我们传入字符串"123"给aoti函数时,它会返回整数123。
aoti函数的原型如下所示:cint aoti(const char *str);其中,参数str是一个指向包含数字字符的字符串的指针。
文华函数使用说明求绝对值。
用法:ABS(X)返回X的绝对值。
例:ABS(-10)返回10,ABS(CLOISE-10) 返回收盘价和10的价差。
求反余弦值。
用法:ACOS(X)返回X的反余弦值。
求反正弦值。
用法:ASIN(X)返回X的反正弦值。
求反正切值。
用法:ATAN(X)返回X的反正切值。
求平均绝对偏差。
用法:AVEDEV(X,N)返回X在N周期内的平均绝对偏差。
取得均价。
用法:AVPRICE返回均价。
取K线的位置。
用法:BARPOS 取某K线的位置。
设置背景的样式。
用法:BACKGROUNDSTYLE(i)设置背景的样式。
i = 0 或 1。
将当前位置到若干周期前的数据设为1。
用法:BACKSET(X,N),若X非0,则将当前位置到N周期前的数值设为1。
例:BACKSET(CLOSE>OPEN,3);表示当K线收阳时,自当前位置到3周期前的数值设为1该函数参数支持变量计算如BACKSET(CLOSE>OPEN,VAR1);//VAR1是变量本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!求上一次条件成立到当前的周期数。
用法:BARSLAST(X):上一次X不为0到现在的天数本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用!介于两个数之间。
用法:BETWEEN(A,B,C)表示A处于B和C之间时返回1(Yes),否则返回0(No) 例:BETWEEN(CLOSE,MA5,MA10); 表示收盘价介于5日均线与10日均线之间。
向数值增大方向舍入。
用法:CEILING(A)返回沿A数值增大方向最接近的整数。
例:CEILING(2.1);求得3,CEILING(-8.8);求得-8。
取得收盘价。
用法:CLOSE返回收盘价。
求余弦值。
用法:COS(X)返回X的余弦值。
统计满足条件的周期数。
用法:COUNT(X,N),统计N周期中满足X条件的周期数。
函数的公式大全及用法理论说明1. 引言1.1 概述函数是数学中的重要概念之一,它描述了两个变量之间的关系。
通过对自变量(输入)进行操作,函数能够产生对应的因变量(输出)。
在现代数学、科学和工程领域,函数被广泛应用于问题建模、数据分析、算法设计等方面。
本文将全面介绍各种常见函数及其应用领域,并探讨函数在理论层面上的性质和特点。
这将帮助读者深入理解函数的使用方法和潜力,为日后的学习和研究打下坚实基础。
1.2 文章结构本文主要分为五个部分,如下所示:第一部分是引言,主要说明文章的背景、目的以及整体结构。
第二部分是函数的公式大全,详细介绍了常见数学函数、三角函数和对数函数等不同类型的函数公式。
通过了解这些公式及其性质,读者可以更好地掌握它们的用法。
第三部分是函数的用法,包括对函数定义和表示方法进行讲解,介绍参数与返回值的概念以及如何调用和应用不同类型的函数。
第四部分是关于函数的理论说明,围绕函数的性质与特点展开,讨论函数图像与曲线分析的方法,并解释了求导与积分的概念以及其在函数中的应用。
最后一部分是结论,对全文进行总结和回顾,并提供对未来深入研究函数领域的建议。
1.3 目的本文的目的在于帮助读者系统地了解和掌握各种函数及其应用。
通过学习本文所述内容,读者将能够:- 了解不同类型的函数公式;- 掌握函数定义与表示方法;- 理解参数与返回值以及如何使用它们;- 熟悉常见数学函数、三角函数和对数函数等基本用法;- 深入理解函数的性质、图像和曲线分析方法;- 理解求导与积分的概念及其在函数中的应用。
希望本文能够为读者提供清晰而全面的关于函数公式大全及其使用方法的指南,使他们在实际问题中更加灵活地运用各种数学工具。
2. 函数的公式大全:2.1 常见数学函数常见数学函数是数学中经常使用的一些函数,它们在各个领域都有广泛的应用。
以下是几个常见的数学函数及其公式:1) 幂函数:y = a^x,其中a为底数,x为指数;2) 指数函数:y = e^x,其中e是自然对数的底;3) 对数函数:y = log_a(x),其中a为底数;4) 三角函数:- 正弦函数:y = sin(x);- 余弦函数:y = cos(x);- 正切函数:y = tan(x);- 反正弦函数:y = arcsin(x);- 反余弦函数:y = arccos(x);- 反正切函数:y = arctan(x);2.2 三角函数三角函数是描述角度和周期性现象的重要工具。
函数说明同步读写部分本程序文件包含三个文件:test13.h头文件,test13_a.c 、test13_b.c 源文件,其功能说明如下:1、test13.h :包含对系统头文件的引用,宏定义,以及结构体struct PInfo 的定义和共用体union semun 的定义。
2、test13_a.c文件中的函数的具体说明(1)void fun_init(int *psem_id, int *pshm_id1, int *pshm_id2, int *pshm_id3, char ** pshm_addr1,char **pshm_addr2)返回值:无参数:psem_id, int型指针,用于将创建的信号量集的ID返回给调用函数。
pshm_id1, int型指针,用于将创建的共享内存1的ID返回给调用函数。
pshm_id2, int型指针,用于将创建的共享内存2的ID返回给调用函数。
pshm_id3, int型指针,用于将创建的共享内存3的ID返回给调用函数。
pshm_addr1 char *型指针,用于将共享内存1的首地址返回给调用函数。
pshm_addr2 char *型指针,用于将共享内存2的首地址返回给调用函数。
函数功能:创建一个包含3个信号量的信号量集,并创建3块共享内存。
(2)void child_write(int sem_id, int shm_id1, int shm_id2, int shm_id3, char *shm_addr1,char *shm_addr2);返回值:无参数:sem_id, int型,信号量集的ID。
Shm_id1 int型,共享内存1的ID。
Shm_id2 int型,共享内存2的ID。
Shm_id3 int型,共享内存3的ID。
Shm_addr1 char型指针,共享内存1的首地址。
Shm_addr2 char型指针,共享内存2的首地址。
函数功能:向共享内存1写入26个英文字母,并在写进程结束运行时,调用resource_free()函数,写进程与共享内存脱离,并在没有其他进程与共享内存相连时,销毁共享内存与信号量集。
(3)void child_read(int sem_id, int shm_id1, int shm_id2, int shm_id3, char *shm_addr1,char *shm_addr2, int num);返回值:无参数:sem_id,int型,信号量集的ID。
Shm_id1 int型,共享内存1的ID。
Shm_id2 int型,共享内存2的ID。
Shm_id3 int型,共享内存3的ID。
Shm_addr1 char型指针,共享内存1的首地址。
Shm_addr2 char型指针,共享内存2的首地址。
Num int型,取值范围{1,2,3,4},用于对读进程的识别函数功能:从共享内存1读取字符,并降其写入共享内存2中各个读进程各自对应的区域。
在读进程结束时,调用resource_free()函数,读进程与共享内存脱离,并在没有其他进程与共享内存相连时,销毁共享内存与信号量集。
(4)void resource_free(int sem_id, int shm_id1, int shm_id2, int shm_id3, char *shm_addr1,char *shm_addr2);返回值:无参数:sem_id,int型,信号量集的ID。
Shm_id1 int型,共享内存1的ID。
Shm_id2 int型,共享内存2的ID。
Shm_id3 int型,共享内存3的ID。
Shm_addr1 char型指针,共享内存1的首地址。
Shm_addr2 char型指针,共享内存2的首地址。
函数功能:在每个读写进程退出时调用,用于调用进程的与共享内存脱离,若没有其他进程与共享内存相连,则销毁共享内存与信号量集。
(5)void sig_kill();返回值:无参数:无函数功能:收到监控程序发来的结束进程运行的信号时,所执行的软中断处理函数。
(6)void sig_pause()返回值:无参数:无函数功能:收到监控程序发来的暂停进程运行的信号时,所执行的软中断处理函数。
3、test13_b.c文件中函数的具体说明(1)void fun_init(int *psem_id, int *pshm_id1, int *pshm_id2, int *pshm_id3, char **pshm_addr1,char **pshm_addr2, struct PInfo **pshm_addr3);返回值:无参数:psem_id, int型指针,用于将创建的信号量集的ID返回给调用函数。
pshm_id1, int型指针,用于将创建的共享内存1的ID返回给调用函数。
pshm_id2, int型指针,用于将创建的共享内存2的ID返回给调用函数。
pshm_id3, int型指针,用于将创建的共享内存3的ID返回给调用函数。
pshm_addr1 char *型指针,用于将共享内存1的首地址返回给调用函数。
pshm_addr2 char *型指针,用于将共享内存2的首地址返回给调用函数。
Pshm_addr3 struct PInfo *型指针,用于将共享内存3的首地址返回给调用函数。
函数功能:创建一个包含3个信号量的信号量集,并创建3块共享内存。
(2)char inputcmd(int *ppid);返回值:char型,返回值范围{‘s’,’k’,’p’,’r’,’q’,’e’},即返回输入命令的首字母,若输入的命令错误,则返回’e’。
参数:ppid int型指针,用于将输入命令所带的参数{w,a,b,c,d},通过调用searchpid()转换成int的{0,1,2,3,4},并返回给*ppid。
函数功能:接收字符串命令,并进行分析,将所要操作的类型以char型返回,将操作所针对的进程的id 返回给*ppid。
(3)int searchpid(char *ch);返回值:int型,返回值范围{-1,0,1,2,3,4}。
参数:ch char*型,指向一个字符串,即输入的命令中所带的参数。
函数功能:将输入命令中所带的参数{w,a,b,c,d},对应转换成{0,1,2,3,4},若输入错误的参数返回-1。
(4)void fun_show(int sem_id, char *shm_addr1, char *shm_addr2, struct PInfo *shm_addr3);返回值:无参数:sem_id int型,信号量集的ID。
Shm_addr1 char型指针,指向共享内存1的首地址。
Shm_addr2 char型指针,指向共享内存2的首地址。
Shm_addr3 struct PInfo型指针,指向共享内存3的首地址。
函数功能:将读写进程的ID、当前运行状态、读写进度显示出来,即显示三块共享内存中的内容。
(5)void fun_kill(struct PInfo *shm_addr3, int PID[5], int pid);返回值:无参数:shm_addr3 struct PInfo型的指针,指向共享内存3的首地址,其中共享内存3中存放各个进程的ID和当前运行状态标志位PID int型数组,存放各个进程实际的ID。
Pid int型变量,取值范围{0,1,2,3,4},用于访问PID数组中的元素。
函数功能:向进程号为PID[pid]的进程发送信号,使此进程结束运行。
(6)void fun_pause(struct PInfo *shm_addr3, int PID[5], int pid);返回值:无参数:shm_addr3 struct PInfo型的指针,指向共享内存3的首地址,其中共享内存3中存放各个进程的ID和当前运行状态标志位PID int型数组,存放各个进程实际的ID。
pid int型变量,取值范围{0,1,2,3,4},用于访问PID数组中的元素。
函数功能:向进程号为PID[pid]的进程发送信号,使此进程暂停。
(7)void fun_restart(struct PInfo *shm_addr3, int PID[5], int pid);返回值:无参数:shm_addr3 struct PInfo型的指针,指向共享内存3的首地址,其中共享内存3中存放各个进程的ID和当前运行状态标志位PID int型数组,存放各个进程实际的ID。
pid int型变量,取值范围{0,1,2,3,4},用于访问PID数组中的元素。
函数功能:向进程号为PID[pid]的进程发送信号,使此进程结束暂停状态,继续运行。
(8)void fun_quit(int sem_id, int shm_id1, int shm_id2, int shm_id3, char *shm_addr1,char *shm_addr2, struct PInfo *shm_addr3);返回值:无参数:sem_id int型变量,信号量集的ID。
Shm_id1 int型变量,共享内存1的ID。
Shm_id2int型变量,共享内存2的ID。
Shm_id3int型变量,共享内存3的ID。
Shm_addr1 char型指针,共享内存1的首地址。
Shm_addr2 char型指针,共享内存2的首地址。
Shm_addr3 struct PInfo型指针,共享内存3的首地址。
函数功能:退出监控程序的运行,并使监控程序与共享内存脱离。
若没有其他进程与共享内存相连,则销毁共享内存与信号量集。
二、并行计算部分本程序源文件包含6个文件:test15.h头文件、test15_a.c、test15_b.c、test15_c.c、test15_d.c、test15_e.c源文件。
各个文件实现的主要功能说明如下:1、test15.h:包含系统头文件的引用、宏定义、以及结构体struct PInfo与结构体struct msgbuf的定义。
2、test15_a.c文件中函数的具体说明(1)char * fun_itoa(int i);返回值:char型指针,即字符串参数:i int型变量函数功能:用于将int变量转换成字符串形式。
一、test15_b.c文件中函数的具体说明(1) void fun_init(int *pmsg_id);返回值:无参数:pmsg_id int型指针,将消息队列的ID返回给变量*pmsg_id。
函数功能:创建消息队列,并将其ID返回。
若消息队列中已有消息存在,则将此消息队列销毁,重新创建。
3、test15_c.c文件中函数的具体说明(1)void resource_free();返回值:无参数:无函数功能:使求和进程与共享内存脱离,若没有其他进程使用共享内存,则将共享内存销毁。