当前位置:首页 > 行业动态 > 正文

c 存储不定长度输入

在C语言中,可以使用动态内存分配来存储不定长度的输入。使用 mallocrealloc函数根据需要分配和调整内存大小,以适应不同长度的输入数据。

在C语言中处理不定长度输入是一个常见需求,特别是在需要从用户获取任意长度字符串或数据时,下面将详细介绍如何在C语言中实现存储不定长度输入的方法。

使用动态内存分配

在C语言中,可以使用mallocreallocfree函数来动态地分配、重新分配和释放内存,从而实现对不定长度输入的存储。

使用`malloc`初始化内存

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个字符(留一个位置给'