概念:指针函数是指一个函数的返回值是地址量的函数。
指针函数的定义的一般形式如下
<数据类型> * <函数名称>(<参数说明>)
{
语句序列;
}
下面有个错误代码,错误比较隐蔽。
#include <stdio.h>
#include <string.h>
char * mystring()
{
char str[20];
strcpy(str,"Hello");
return str;
}
int main()
{
printf("%s\n",mystring());
return 0;
}
上述问题在于内存分配,str是一个局部变量,放在栈区,函数结束后就消亡了,因此返回回来的只是一个没有任何意义的地址,输出也只是一串乱码,在以后如果有改错题并且存在指针,大部分情况都是内存分配出错,错误较为隐蔽,因此要注意。
最后,着重强调,指针函数的返回值
最后,说明一下指针函数的用处:多用于复合语句的使用。