c - 如何将指针存储到二维数组中?

标签 c arrays multidimensional-array

我想将指向命令的指针存储到二维数组中。下面是我正在使用的一些代码,但我不知道如何获得所需的结果。

#define MAX_LINE_LENGTH 1024
#define MAX_COMMANDS 10
char *commandHistory[MAX_COMMANDS][MAX_LINE_LENGTH + 1];


char *token;
token = strtok(line, LSH_TOK_DELIM);
printf("%s\n", token); //prints out the command I want to store the pointer to
commandHistory[i++][0] = token; //what do I do here?

最佳答案

您需要分配字符串的副本并存储它。最简单的方法是这样的:

commandHistory[i++][0] = strdup(token);

当您的程序完成这些操作后,您应该释放使用strdup分配的每一个。

关于c - 如何将指针存储到二维数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29482041/

相关文章:

没有 math.h 的数字的余弦。未知错误1.#INF00

c++ - C/C++调试原理/核心话题

javascript - 如何将结构添加到作为数据库查询结果创建的对象

arrays - Typescript 从对象中选择 ID

Java相当于python数组初始化

java - 代码在我们没有要求的情况下运行多次

你能在结构中有一个数组吗?

c - 存储命令行使用的简单数据的好方法是什么?

c++ - 在 GDB 中打印 int **x

arrays - 如何计算自定义类型数组的 1 个变量的平均值