gpt4 book ai didi

char 数组分组在一个数组中

转载 作者:太空宇宙 更新时间:2023-11-04 08:40:37 25 4
gpt4 key购买 nike

这是我的例子:

char a[LEN_A];
char b[LEN_B];
char c[LEN_C];
char d[LEN_D];
char e[LEN_E];
char f[LEN_F];

for (unsigned int i = 0; i < LAST_ID; ++i)
{
char *p = stuff_to_parse;
string_val[i] = NULL;
while(p)
{
/* Do some parsing stuff*/

/* Finished parsing ... */
string_val[i] = p;
/* Assing value in string_val[i] to a, b, c, .. within this loop */

}
}

如何将循环内的 string_val[i] 的值分配给不同的字符数组 ab c, ..?我需要一个 char 数组,对吗?

感谢您的帮助!

编辑:问:什么决定它是否会转到 a、b、c、d..

我有一个 ID 列表。

enum id_t
{
A,
B,
C,
D,
E,
F,
LAST_ID
};

最佳答案

由于您处于一个受限的环境中,并且您似乎需要分配堆栈中的所有内容,您可以简单地使用几个数组保留当前的设计,然后创建另一个包含仅用于索引目的的指针的数组:

char a[LEN_A],  b[LEN_B],  c[LEN_C],  d[LEN_D],  e[LEN_E],  f[LEN_F];
char* stuff[] = {a, b, c, d, e, f};

for (unsigned int i = 0; i < LAST_ID; ++i)
{
char *p = stuff_to_parse;
string_val[i] = NULL;
while(p)
{
/* Do some parsing stuff*/

/* Finished parsing ... */
string_val[i] = p;
/* Assing value in string_val[i] to a, b, c, .. within this loop */
stuff[i] = p;

}
}

或者,您可以使用 switch(i) 并在每种情况下使用不同的数组。

关于char 数组分组在一个数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23775682/

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