形参有*代表是一个指针,那么传递实参的时候可以传递指针变量,此时直接用指针变量名;或者传递普通变量的地址,此时用取地址符+变量名。
梅里斯网站建设公司创新互联建站,梅里斯网站设计制作,有大型网站制作公司丰富经验。已为梅里斯1000+提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的梅里斯做网站的公司定做!
子函数与母函数,你这个说法头一次听说,呵呵。
函数间只有调用与被调用关系,没有亲属关系。除了MAIN函数外,其他所有函数间都是平等关系。
一个函数在定义时,就会声明两大项内容:一、函数返回值类型;二、输入、输出参数及类型,如:
int func1( int x , char *str ); //返回值为INT类型,参数有两个,一个整型,一个字符指针。
调用者在调用此函数时,就需要传参数。
void fun2( void ); //无返回值,无参数
调用者在调用此函数时,就不需要传参数。
在写程序时,我们使用一个函数前,一定要先查询到这个函数的具体定义(一般系统提供的函数在相应的头文件中都有说明),这样我们才能正确的使用C函数。
函数声明时只需写出形参类型。
函数定义时必须写出形参类型和变量名。
C语言中的标准函数printf便使用这种机制。在声明不确定形参的函数时,形参部分可以使用省略号“…”代替。“…”告诉编译器,在函数调用时不检查形参类型是否与实参类型相同,也不检查参数个数。
扩展资料
示例
例如:
void ConnectData(int i,...)
在上面的代码中,编译器只检查第一个参数是否为整型,而不对其他参数进行检查。
对于可变参数的函数,需要进行特殊的处理。首先需要引用 stdarg.h 头文件,然后利用va_list类型和va_start、va_arg、va_end 3个宏读取传递到函数中的参数值。
这几个宏的定义如下(在 ANSI C 中):
type va_arg( va_list arg_ptr, type );
void va_end( va_list arg_ptr );
void va_start( va_list arg_ptr, prev_param )。
全局变量是使用相同的内存块在整个类中存储一个值. 全局变量的存在主要有以下一些原因: 1,使用全局变量会占用更多的内存(因为其生命期长),不过在计算机配置很高的今天,这个不成为什么问题,除非使用的是巨大对象的全局变量,能避免就一定要避免。 2,使用全局变量程序运行时速度更快一些(因为内存不需要再分配),同样现在也快不了多少。 3,对于局部变量的名字空间污染,这个在不使用太多变量时是可以避免的。 总之,全局变量可以使用,但是全局变量使用时应注意的是尽可能使期名字易于理解,而且不能太短,避免名字空间的污染;避免使用巨大对象的全局变量。 局部变量:在程序中,只在特定的过程或函数中可以访问的变量,是相对与全局变量而言的。 全局变量也称为外部变量,是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。全局变量全部存放在静态存储区,在程序开始执行时给全局变量分配存储区,程序行完毕就释放。 局部变量可以和全局变量重名,但是局部变量会屏蔽全局变量。在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。