**关闭。**此题需要debugging details。目前不接受答复。
编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答这个问题。
5天前关闭。
Improve this question
我使用这个struct:
typedef struct Command_Line
{
char* label;
char* command_name;
enum command_enum command_name_enum;
char* first_argument;
char* second_argument;
enum expected_arguments_enum expected_arguments;
int ignore;
int *data_array;
int arguments_in_data_array;
} Command_Line
这就是宣言:
Command_Line *current_command = malloc(sizeof(Command_Line));
这是(部分)代码:
int current_index = (*current_command).arguments_in_data_array + 1;
(*current_command).data_array = (int*)realloc( (*current_command).data_array,
(current_index * sizeof(int)));
realloc
在current_index = 4时持续崩溃,下一个大小无效。
添加:.data_array初始化如下:
(*current_command).data_array = malloc(sizeof(int));
下面是我如何在数组中输入值:
*((*current_command).data_array + current_index) = atoi(argument_string);
1条答案
按热度按时间6za6bjd01#
所以问题是我输入了最后一个索引+1