gpt4 book ai didi

c - 根据用户输入声明数组

转载 作者:太空宇宙 更新时间:2023-11-04 04:12:09 27 4
gpt4 key购买 nike

我正在尝试根据用户输入声明数组,考虑如果用户输入 2,那么我需要声明 2 个数组。像:int case1[10]={},case2[10]={},我尝试使用宏 CONCAT 但它没有用,那么我们该怎么做呢?

最佳答案

你不能那样做。变量声明是编译时的事情,远在用户与程序交互之前(在运行时)。宏也在编译时展开。

但是当您有名为foo1foo2foo3 等的变量时,为什么不直接使用数组呢?然后你可以有 foo[0]foo[1]foo[2] 等等。

在您的情况下,适用标准“动态数组”技术。要么使用变长数组:

int n = get_user_input_somehow();
int arr[n][10];

或者使用传统的动态内存分配:

int n = get_user_input_somehow();
int (*arr)[10] = malloc(n * sizeof *arr);
if (!arr) {
handle error
}

完成后不要忘记释放内存:

free(arr);

无论哪种情况,您都可以使用 arr[i][j] 访问元素。

关于c - 根据用户输入声明数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55887376/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com