#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char *f()//指针函数,返回值是指针的函数
{
char *ptr=(char*)malloc(sizeof(char)*32);//在堆空间中,只能手动释放空间
//char ptr[32]={0};//段错误,不能返回局部变量的地址,在栈空间中,函数结束会释放空间
return ptr;
}
int main()
{
char *s=f();
strcpy(s,"helloworld");
printf("%s\n",s);
free(s);//手动释放
return 0;
}
运行
[root@localhost 30]# ./2-指针函数
helloworld