c语言返回子串

在time1()函数中,char nowC语言的函数如何返回一个字符串? 在C语言中实现函数返回字符串,首先要确定函数返回的字符串地址的来源,一般分为四种方式:

函数参数带入的地址

静态局部变量地址

局部变量的地址必须由函数中的malloc()函数赋值。

采用全局变量地址

参考代码:

Void func1( char *s) //通过形参返回一个字符串。

{

strcpy( s,“你好”);

}

Char * func1_1( char *s) //另一种写法。

{

strcpy( s,“你好”);

返回s;//返回形参地址,方便程序调用。

}

char * func2( void)

{

静态字符s[100];//不能是非静态变量,否则子函数结束,局部变量释放,调用者得到无效地址值。

strcpy( s,“你好”);

返回s;//返回静态局部变量的地址,调用者使用对应的指针变量接收返回值,获得字符串数据。

}

char * func3( void)

{

char * s;

s =(char *)malloc(100);

strcpy( s,“你好”);

返回s;//返回s的值,需要调用者释放地址来释放()。

}

//定义全局变量

char globle _ buf[100];

无效功能4(无效)

{

strcpy( globle_buf," hello ");

}

Char * func4_1( char *s) //另一种写法。

{

strcpy( globle_buf," hello ");

返回globle _ buf//返回全局变量的地址,方便程序调用。

}

相关文章

发表新评论