【发布时间】:2010-03-02 15:10:32
【问题描述】:
我正在研究队列数据结构。结构是:
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) : 错误 C2106: '=' : 左操作数必须是左值
gcc 在同一行返回类似的错误(但我忘记了,目前无法访问 gcc)。
我对结构和指针相当陌生,所以可能有一些非常明显的事情我没有做。感谢任何帮助:)
【问题讨论】:
标签: c pointers arrays struct structure