通过多维数组在c中起作用?

时间:2011-07-03 18:34:53

标签: c arrays function multidimensional-array

我有一个像这样声明的字符串数组:

char parts[PART_COUNT][PART_MAX];

然后我创建了一个函数,它接受一个字符串和一个字符串数组,并将它分成这些部分,声明如下:

WORD PartString(const char *str, char **parts, char sep);

我似乎可以阅读部分[i] [j],但如果我尝试这样分配:

parts[i][j] = str[x];

我收到此错误:

remote.exe中0x012614d8处的未处理异常:0xC0000005:访问冲突写入位置0xcccccccc。

有谁能告诉我在C中这样做的方法?感谢。

1 个答案:

答案 0 :(得分:1)

#define PART_MAX      1024
#define PART_COUNT    4

好的,设法修复它,我关闭了编译器警告,当我重新打开它时我得到了这个:

'char **' differs in levels of indirection from 'char [4][1024]'

下面是新的声明,它允许我修改数组中的字符串:

WORD PartString(const char *str, char (*parts)[PART_MAX], char sep)

我刚刚通过:

PartString(buffer, parts, '.');