char型指针与常量
最近看C++常常遇到下面这种函数:
void set_name(const char *n); // 声明部分
·
·
·
void set_name(char *n)
{
int len=strlen(n)+1;
char *name=new char[len];
strcpy(name,n);
return name;
}
-------------------------------------------------
我不明白之处:
1.为什么每次给name申请的空间都要比传入的参数n所指向的字符串的长度strlen(n)大1;
2.为什么不直定义成下面这种形式:
void set_name(const char *n)
{
char *name;
name=n;
return name;
}
让返回一个指向传入参数的指针,这也能得到那个字符串啊。