c - 在 C 中修改字符串数组中的字符串

标签 c arrays string gets

这是我的问题...我创建了一个这样的字符串数组..

char *name[12];

然后用户键入 12 个不同的名称,以便我可以将它们保存在该数组中。但众所周知,如果你不初始化一个变量,它就会有“垃圾”。所以我开始正确保存名字,直到第 5 个名字,然后它崩溃了,我不知道为什么。所以我尝试初始化每个元素,但它不允许我更改内容。

这是我写入数组每个元素的方式:

printf("Type your name: ");
fflush(stdin);
gets( name[0] ); //I use a for to move into every element

我想知道是否有任何方法可以初始化数组,然后更改它的内容。我试过 strcpy();但我有同样的错误。或者如何删除该“垃圾”以阻止它导致我出错。

谢谢,如果我有任何拼写错误,请见谅。英语不是我的母语。

最佳答案

您已经为 12 个指针分配了空间;您从未为 12 个字符串分配空间,更不用说将指向该空间的指针分配给数组中的指针了。

关于c - 在 C 中修改字符串数组中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24462491/

相关文章:

c++ - 实现日志观察器

c# - 可以从数组派生吗?

ruby - 在 Ruby 中重新格式化一串数字

c - 在 Visual Studio 2013 和 C 中使用 ffmpeg

c - 有没有办法在 Linux 中使用 DMA 将文件读入内存?

java - 如何调用 ArrayList 中数组的方法?

python - 将 a/b 字符串转换为在 pandas 中 float

c# - 字符串操作,如何轻松提取一个 HTML 元素值?

c++ - 系统调用开销

python - 如何获取两个数据框列之间的交集项?