函数与指针
用函数指针变量调用函数
当定义函数之后,C语言允许定义一个指针变量来指向该函数,接下来就可通过该指针变量来调用函数了。
使用函数指针变量的步骤如下
1.定义函数指针变量,语法格式为:
函数返回值类型(* 指针变量名)();
2.将任何已有的函数赋值给函数指针变量。
3.使用函数指针变量来调用函数。语法格式为:
(*函数指针变量)(参数);
返回指针的函数
当函数返回指针时需要注意,由于函数返回的指针只保存了一个地址值,如果该指针指向的是被调用函数中的局部变量,这将非常危险,因为函数调用结束后,该函数中局部变量所占用的内存已经释放,那么该指针指向的内存单元中存储的数据是不确定的。
为了保证函数返回的指针是有效的,有两种方式:
1.如果函数返回的指针指向被调用函数中的局部悲凉,该局部变量应该使用static修饰。
2.让函数返回的指针指向暂时不会被释放的数据,如指向main()函数中的变量,在main()函数结束前,函数返回的指针
是安全的。
网友评论