malloc
或
realloc
函数根据需要分配和调整内存大小,以适应不同长度的输入数据。
在C语言中处理不定长度输入是一个常见需求,特别是在需要从用户获取任意长度字符串或数据时,下面将详细介绍如何在C语言中实现存储不定长度输入的方法。
在C语言中,可以使用malloc
、realloc
和free
函数来动态地分配、重新分配和释放内存,从而实现对不定长度输入的存储。
malloc
函数用于分配指定字节数的内存空间,并返回一个指向该内存空间的指针,在使用malloc
为不定长度输入分配内存时,通常先分配一个较小的初始大小,然后根据需要使用realloc
进行扩展。
示例代码:
#include <stdio.h> #include <stdlib.h> int main() { char *input = (char *)malloc(10 * sizeof(char)); // 初始分配10个字符的空间 if (input == NULL) { fprintf(stderr, "Memory allocation failed "); return 1; } printf("Enter a string: "); fgets(input, 10, stdin); // 读取最多9个字符(留一个位置给'