【问题标题】:C - Adding/appending string into an array of stringsC - 将字符串添加/附加到字符串数组中
【发布时间】:2023-01-19 19:50:05
【问题描述】:

假设我有一个如下所示的数组:

char arr[MAX_ARR_LENGTH][30] = {"Tom", "and", "Jerry" };

现在,如何在数组末尾附加一个新字符串?假设我想添加“Jack”作为一个新元素,那么数组应该如下所示:

char arr[MAX_ARR_LENGTH][30] = {"Tom", "and", "Jerry", "Jack" };

你如何在 C 中实现这一点?

我尝试使用 for 循环,但因为它是一个二维数组,所以我无法找出正确的技术。

【问题讨论】:

    标签: arrays c string multidimensional-array append


    【解决方案1】:

    您不能扩展自动阵列。相反,您想 realloc() 分配和调整数组的大小:

    // alternatively use calloc() or malloc()
    char ***arr = realloc(NULL, 30 * MAX_ARRAY_LENGTH);
    if(!arr) {
      // handle error
    }
    
    char **tmp = realloc(arr, 31 * MAX_ARRAY_LENGTH);
    if(!tmp) {
      // handle error
    }
    arr = tmp;
    

    【讨论】:

      猜你喜欢
      • 2015-02-13
      • 2017-09-16
      • 2016-03-02
      • 2015-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-30
      • 1970-01-01
      相关资源
      最近更新 更多