一个例子如下: #include <stdio.h> #include <string.h> #include <stdlib.h> char * retstring(); int main() { char * name2; name2 = retstring(); printf("%s\n",name2); //记住一定要用free释放,否则会造成内存泄露 free(name2); return 0; } char * retstring() { char * name; n...
方法三:返回一个静态局部变量。 一个例子如下: #include <stdio.h> #include <string.h> #include <stdlib.h> char * retstring(); int main() { char * name2; name2 = retstring(); printf("%s\n",name2); return 0; } char * retstring() { static char name[10]; strcpy(name,"张汉青...
int main() { char *str = returnString(); printf("返回的字符串是: %s ", str); free(str); // 释放内存 return 0; } // 函数定义 char* returnString() { char *str = (char *)malloc(100 * sizeof(char)); strcpy(str, "Hello, World!"); return str; } 3. 使用结构体(struct) #...
#include <stdio.h> #include <string.h> char* getString() { char str[100]; // 声明一个字符数组来存储字符串 strcpy(str, "Hello, World!"); // 将字符串复制到字符数组中 return str; // 返回字符数组指针 } int main() { char* result = getString(); // 调用函数并获取返回的字符串 pr...
第一是内部静态string变量,返回const char *的c_str。外部不用释放。第二是使用strdup复制一份,规定...
return 0; } 在这个例子中,get_string函数返回一个指向字符串常量的指针,需要注意的是,这种方法只适用于返回字符串常量,因为字符串常量的内存是由编译器自动分配和回收的。 2. 使用静态局部变量 使用静态局部变量可以在函数内部创建一个字符串,并在函数调用结束后保留其值,这样,我们可以在后续的函数调用中继续访问...
3 #include <string.h> 4 5 int main() 6 { 7 char msg[] = "Different"; 8 printf("before strcpy: msg:%s\n", msg); 9 strcpy(msg, "Original message"); 10 printf("after strcpy: msg:%s\n",msg); 11 return 0; 12 } 1. ...
char * CatString(const char * s1, const char * s2){ int m1,m2; //两字符串长度 m1=strlen(s1); m2=strlen(s2); //求长度 char * s=(char *)malloc(sizeof(char)*(m1+m2+1)); //申请内存空间,多1字节 strcpy(s,s1); //复制第一个字符串 strcpy(s+m1,s2); //...
C语言只能return一个变量。如果要等价地return“多个”变量:1)使用指针类型的函数参数。2)使用结构体封装多个变量。3)使用全局变量 4)使用外部支持,如文件、管道、消息、网络等。
当然可以 char* fun(){ char* myname = "hello world";return myname;},函数的返回值类型可以有很多种!(int,float,bool,char*,char...)