该函数的用法需要注意的一点就是函数的返回值返回的时候,返回类型不能使用自己定义的函数名称,因为不是内置函数,所以用使用起来会报错,返回的类型需要和你定义的形参的类型相同,本文定义的Name是char*类型的,所以返回类型也是这个。
还有一点需要注意的是,如果传入的字符串是在程序里面给定的,那么形参的类型应该是const类型的,因为你给定任意初值的字符串在代码运行的时候,都是以const类型来处理的,我用的是不是2019,新版本都强制了这种。不知道丛哪个版本开始的。
#include <iostream>
#include <string>
using namespace std;
void SetName(char* c);
typedef char String[100];
String Name;
void SetName(const char *c)//这里传入指针的原因是strcpy是复制const char* s 到指针对象的
{
strcpy_s(Name,c);
}
char* GetName()//这里用char* 是因为Name不是内置函数,为了与内置函数区分开来,只能返回数据的类型,这里的Name是字符串指针,所以返回的类型也是字符串指针
{
return Name;
}
int main()
{
char* name;
const char* s = "李云龙";
SetName(s);
name = GetName();
cout << name << endl;
return 0;
}