Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 这样使用好吗?_C_String - Fatal编程技术网

C 这样使用好吗?

C 这样使用好吗?,c,string,C,String,1) 我们可以像上面那样分配char*=char[]吗。 2) 如果我们将此名称作为参数传递给其他函数,是否有可能出错?是的,您可以这样做,但请注意,name将指向str,因此如果您修改name指向的字符,您也将修改str(反之亦然) < > >代码> >名称>代码>为“代码> STR 的副本,以便您可以独立修改它,然后在名称中分配足够的内存,使用STRCPY或MMECPY。不需要清除 STR ,因为 StrucP也复制了结束的NUL字节。注意:不要重复50次两次,请考虑 MSESET。(str

1) 我们可以像上面那样分配char*=char[]吗。
2) 如果我们将此名称作为参数传递给其他函数,是否有可能出错?

是的,您可以这样做,但请注意,
name
将指向
str
,因此如果您修改name指向的字符,您也将修改
str
(反之亦然)


< > >代码> >名称>代码>为“代码> STR 的副本,以便您可以独立修改它,然后在名称中分配足够的内存,使用STRCPY或MMECPY。

不需要清除<代码> STR <代码>,因为<代码> StrucP也复制了结束的NUL字节。注意:不要重复50次两次,请考虑<代码> MSESET。(str,0,sizeof str);。
char str[50];
memset(str,0,50);
strcpy(str,"beauty");
char *name = str;