如何解决在 C 中声明字符串的更好方法是什么?
我是 C 语言的新手,我很好奇在 c 中声明字符串的最佳方式。
示例:
char *name;
//or char name[];
scanf("%s",&name);
printf("Hello %s !",name);
在这种情况下,这两个中哪个更好?
char *name;
char name[];
解决方法
如果你有一个长度恒定的字符串。您可以像这样声明一个 char 数组。
char name[64];
scanf("%s",name); // no more than 63 characters,remember the '\0'
printf("Hello %s\n",name);
如果字符串长度是动态的,请使用malloc函数来分配特定长度的内存。更重要的是你应该记住释放之前分配的内存。
,char *name;
是一个指针,指向字符串第一个索引的地址。如果您通过引用操作变量,这主要使用,例如(通过引用传递参数)
char name[]
不适用于 C,因为您必须初始化数组大小,例如char name[20];
不管怎样,语法正确的后者更好。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。