最近,当我用C做代码,我需要声明一个二维数组如下:二维字符数组
char foo[20][20];
稍后我会到foo
指定字符数组。
之后,我需要将这些字符串复制到其他变量。
复制是这样的:
strcpy(date, foo[0]);
strcpy(name, foo[1]);
strcpy(des, foo[6]);
strcpy(cpy, foo[2]);
因为我没有保持顺序在复制像foo[0]
,foo[1]
,foo[6]
和foo[2]
,我得到了一些垃圾p3
与原始字符串一起。
后来我在复制过程中将序列更正为foo[0]
,foo[1]
,foo[2]
和foo[6]
,我得到了预期的结果。
请说清楚。
实际上,指针p1,p2,p3和p4是结构中的变量。 结构去喜欢:
struct sample
{
char date[9];
char name[8];
char des[8];
char cpy[9];
};
那些'p'字符串是否有空间分配给他们?在你的例子中你有什么是不合法的语法,所以很明显这不是你真正的代码。 – 2012-03-13 05:59:46
如果您可以发布完整的代码,会更好。 – Jay 2012-03-13 06:03:08
发布您的实际代码,并显示foo如何初始化。 – 2012-03-13 06:27:43