一个函数的返回值类型可以是整型, 字符型, 实型等, 也可以是指针类型。 指针型函数定义的一般形式为 :
数据类型 *函数名(形参)
{
. . .
}
下面举个char型指针函数 ( char *fun() )的使用例子
#include <string.h>
#include <stdio.h>
//本函数用于拼接两个字符串
char *catstr(char* str1, char *str2)
{
char *temp = str1;
while (*str1 != '\0')str1++;
while (*str2 != '\0')
{
*str1 = *str2;
str1++;
str2++;
}
*str1 = '\0';
return temp;
}
int main()
{
char s1[100] = "BeiJing";//随便定义两个字符串
char s2[100] = "2008";
char *result = NULL; //定义一个字符指针变量,
//char *result 一般也能运行, 但result没有指向具体单元, 比较危险, 所以这边 = NULL
result = catstr(s1, s2); // 使用 char *fun(), result指向catstr代表字符串的首地址
printf("\n the result is : %s\n", result);//打印结果,看是否符合预期
getchar(); //为防止运行时一闪而过
return 0;
}
// 运行结果 :
// the result is : BeiJing2008
本程序中, 函数 catstr 被定义为指针型函数, 该函数的返回值是第一个字符串的首地址。