分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
是在主函数前声明一下子函数然后在主函数后定义好还是直接在主函数前定义子函数好啊?为什么?
解析:
小程序,无所谓,子函数可以写在前面。
大程序,子函数写在后面为好,前面只需写子函数原型。
程序很大时,子函数可以单独写在分开的文件中,主函数前面写子函数原型,或把子函数原型写入头文件,include 进来。
程序执行总是从主函数开始执行,主函数写在前面,看起来方便,程序的主要思路,解决问题的步骤,都在主函数。
在C语言中,子函数可以通过参数来接收主函数中传递的数据。主函数中定义的变量在子函数中是不可见的,因此需要通过参数将主函数中的数据传递给子函数。
在调用子函数时,需要将参数传递给子函数。在子函数的定义中,需要声明参数的类型和名称,以便在子函数中使用这些参数。例如:
在上述代码中,myFunction是一个子函数,它接收两个参数,一个整型变量arg1和一个浮点型变量arg2。
当在主函数中调用myFunction时,需要传递两个参数,例如:
在上述代码中,将整型变量a和浮点型变量b作为参数传递给myFunction,这样在myFunction中就可以使用这两个变量进行计算。
需要注意的是,子函数中的参数名称可以与主函数中的变量名称不同。在子函数中使用参数时,需要使用参数名称而不是主函数中的变量名称。例如:
在上述代码中,参数名称为x和y,与主函数中的变量名称a和b不同。在子函数中使用x和y来进行计算。
在C语言中,函数中需要用到的子函数都要在这个函数之前声明,否则会提示有错误,例如:void mux(int,int);
当然有区别了,定义是具体的函数要实现什么功能,而声明就是告诉大家你在后面要用到的函数
C语言中一个完整的函数由函数首部和函数体构成,而且定义函数时两者都是必不可少的。
函数定义的一般形式如下:
类型标识符 函数名(形参表列) // 这是函数首部
// 以下{ }内的是函数体
{
说明部分
执行部分
}
举例说明如下:
// 定义一个不带返回值的函数
// 函数功能:输出形参的值
void fun(int a, int b)
{
printf("%d, %d\n", a, b);
}
// 定义一个带返回值的函数
// 函数功能:返回2个整数数的最大值
int fun(int a, int b)
{
return a>b a : b;
}
如果是非静态的局部变量,那第二次调用时,数组会被 ”清空“。
子函数中,声明的非静态局部变量、数组,使用的是函数栈空间。
在每次调用函数时,都会新分配一块儿栈空间给函数使用。
因此相当于每次调用子函数,子函数内的局部变量都会被初始化~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)