c语言符号函数指针变量的定义格式
    符号函数符号函数( symbol function)表示指针或引用是可变的,这些可变性体现为操作的多态性。符号函数分为两类:成员函数和局部变量的函数。成员函数允许参数传递,但不允许返回值。例如,在常量中加了一个指针或引用时,可将该常量视为全局变量。这样就可以由系统调用时动态地决定对其赋值。这时全局变量就等于是符号函数。因此,定义函数的语句格式可以简化为:声明一个函数:形如declare( fn<char name="name"> fn);如果想把定义写成类似于如下形式:声明一个函数: fn <name> var name;后者仅仅只包含名字,不含任何具体的函数形式,这样的函数无法调用。同时,该函数不能访问全局变量。
    符号函数有两种方法:一是以库函数的形式来定义;二是直接用operator<,如:声明一个用户自定义函数: fn i;前者定义很简单,用户可随意定义。但必须声明在头文件中,因此头文件的编写十分麻烦。而且不能进行修改和扩充。
    那么,究竟怎样才能使用户定义的函数比较灵活、高效呢?我们先来看看函数的初始化问题。函数被调用后,必须要保证存放调用的参数的指针不再被用来做下次调用。一般我们采取以下几种方法解决:一是将当前指针置零,如:函数参数如果没有指针的话,就要重新初
始化,并提供一个新的指针给用户,然后才能进行下一次调用。
    另外,对于可变长的参数,用户可以给出全局指针。对于参数为整型数据的函数,用户可以提供一个特殊的指针。当用户提供的指针与函数参数相匹配时,函数就按照当前指针执行下去,而不管参数原来的内容。
    通常我们在定义用户自定义函数时,应尽可能选择一些比较简单的函数,这样就会得到更高的效率。如:在我们编写的一个函数中,就采用了如下形式:声明一个函数: fn sum fun s;函数的定义不难看出,它与普通函数最大的区别是将指针用const来代替。我们还可以考虑,在调用函数之前,能不能将指针先送给调用函数的指针,然后调用函数再从调用指针中读取参数,这样可以避免再次访问调用函数的参数,又节省了系统资源。在第一次调用时,将指针置为0,然后再执行函数的调用,也是一种不错的办法。当然,函数中也可以包含返回类型,这样就不用指针了,但是这样做会增加程序的复杂度。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。