[英]Can assign string to char* at runtime
我可以做这样的代码:
char *p;
p = User_input;
是否可以在运行时将字符串分配给p
?
当然可以,但是c中没有string
,我认为您的意思是char *
,例如
char *user_input = malloc(128);
scanf("%s", userinput);
p = user_input;
您必须使用malloc分配内存。 然后,您可以使用strcpy将字符串分配给分配的内存。
当然可以。 请注意,此分配仅将指针(地址)复制到新变量。 它不会复制字符串本身。
如果不是您要的话,您还有其他选择:
char buf[1000];
strcpy(buf, User_input);
要么
char *p;
p = strdup(User_input);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.