以示例代码*为例:
char *string = (char*)malloc(sizeof(char));
strcat_s(string, strlen(string) + 10 + 1, "characters");
上面的代码编译并运行,让我相信内存重新分配正在发生。但是,当以更大的规模应用时(也以递归方式),我会在随机位置收到内存错误(每次运行程序时都不同)。
strcat_s() 会超出边界吗?因此需要 realloc() 来确保正确分配内存吗?
注意:这些错误可能是不相关的,尽管它们是在应用示例中的代码后偶然出现的。
*我最初只分配一个字节的原因是,在上下文中我正在使用动态大小,所以大小string
会改变,但数量未知。