gpt4 book ai didi

无法将数组值排入队列

转载 作者:行者123 更新时间:2023-11-30 17:48:56 25 4
gpt4 key购买 nike

我创建了一个队列,其中包含一个二维数组,该数组的每个元素的大小都是 2。当我将 2 大小的数组放入队列中时,会发生异常。

以下是我的代码:

#include "stdio.h"

#define size 1000

typedef struct Queue {
int *data[2];
int front;
int rear;
}Queue;

void init(Queue *q)
{
q->front=0;
q->rear=0;
}

void Enqueue(Queue *q,int *value)
{
if(q->rear==size)
return ;

q->data[q->rear++]=value;
}

void main()
{
Queue q[1];

init(q);

int a[10][2];

for(int i=0;i<10;i++) {
a[i][0]=i;
a[i][1]=i*2+1;
Enqueue(q,a[i]);
}
}

最佳答案

 *I create a Queue that includes a two dimensional array*

不,您只需通过 int *data[2]; 创建一个维度的指针数组;

如果你想创建一个包含二维数组的 Quene,它将是 int data[size][size_anoter]

但是,您不需要二维。在 void Enqueue(Queue *q,int *value) 函数中,将地址从 a[i] 传递到 data[i] 。所以你只需要一个足够大的指针数组;\

int * data[size];

此外,如果您可以将size定义为SIZE,那就更好了。

关于无法将数组值排入队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18204151/

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