gpt4 book ai didi

c - 将一维数组插入 C 中的二维数组

转载 作者:太空狗 更新时间:2023-10-29 16:09:48 25 4
gpt4 key购买 nike

我正在研究队列数据结构。结构是:

struct queue
{
char array[MAX_LENGTH][8];
int back;
};

它旨在存储 7 个字符长的 MAX_LENGTH 字符串列表。我希望推送 8 个字符的一维数组(好吧,7 个字符和\0,就像结构中的数组一样)。

我有这个推送码:

void push (struct queue *q, char s[]){
q->array[q->back] = s;
}

我认为这可能行得通,但显然行不通。在 cl(.net 的 C/C++)编译器中,出现以下错误:

2.c(29) : error C2106: '=' : left operand must be l-value

gcc 在同一行返回类似的错误(但我忘记了,目前无法访问 gcc)。

我对结构和指针相当陌生,所以可能有一些非常明显的事情我没有做。感谢任何帮助:)

最佳答案

将其更改为:

void push (struct queue *q, char s[])
{
strcpy(q->array[q->back], s);
}

您可以使用 = 在 C 语言中分配结构,但您不能分配数组 - 您必须使用 strcpy/memcpy 来处理此类事情。

关于c - 将一维数组插入 C 中的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2364101/

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