gpt4 book ai didi

c - 在 C 中声明一个包含另一个变量内容的变量名

转载 作者:太空宇宙 更新时间:2023-11-04 02:06:33 26 4
gpt4 key购买 nike

我正在从事一个项目,该项目要求我使用预先确定的前缀和数字来命名结构数组变量。该程序以一个如下所示的数组开始:

foo[elements]

我需要这样声明:

foo1[elements+1]

我不能只声明 foo1[elements+1],因为没有预定数量的新数组具有更大的内容,因为我将通过一个循环进行迭代。如果我需要提供更多信息,或者如果我没有清楚地提出我的问题,请告诉我。我不知道这是否可能,但如果可能的话,它肯定会缩短我的时间。

最佳答案

在 C 语言中,编译时必须知道变量名。无法在运行时创建新的变量名。语言不对。

你最好的选择是分配一个数组来保存你的数组:

int ** foo = calloc(sizeof(*foo), numarrays);
for (i = 0; i < numarrays; i++)
foo[i] = calloc(sizeof(**foo), elements + i);

关于c - 在 C 中声明一个包含另一个变量内容的变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20101791/

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