如何管理二维字符数组?

时间:2015-09-10 06:10:40

标签: c arrays char 2d

经历了数十个教程和编程指南,答案并没有变得明显,因此发布。请善待。
手头的问题是对char的双d数组的实际操作:{“aaaaa”,“bbbbb”,“ccccc”,.... M}
第一个问题是声明这种野兽的初始化,以便改变字符串“aaaaa”,“bbbbb”等中的数据。 声明和初始化如下:

    char *chararray[M][N + 1] //M & N are set as constant values, the extra 1 for the null terminator.
    memset (chararray, '\0', sizeof(chararray)); //Assuming array bounds remain constant, in the hope that dynamic allocation is not required

假设还定义了一个字符串文字:

    char *copyme; //Has been given a string value well within the bounds of N

尝试在strcat或strcat_s(strcpy或strcpy_s类似)中使用它时出现问题:

    strcat_s (chararray [i][0], N + 1, (char *) copyme);  //i ranges from 0 to M

没有遇到任何以这种方式处理数组的代码,我从这个tutorial注意到memcpy是唯一的方法。正确的吗?

另外,在从Main调用函数时如何实现John Bode的General Procedure? (为简洁起见,这可能必须作为一个单独的问题提交,)

0 个答案:

没有答案