我对 c 和指针很陌生。每次我认为 k 我已经理解它时,都会出现一个我不太理解的问题(我花了一些时间阅读 c 文档,但指针对我来说仍然不清楚):
typedef struct {
int q[QUEUESIZE+1];
int first;
int last;
int count;
} queue;
enqueue(queue *q, int x)
{
if (q->count >= QUEUESIZE)
printf("Warning: queue overflow enqueue x=%d\n",x);
else {
q->last = (q->last+1) % QUEUESIZE;
q->q[ q->last ] = x;
q->count = q->count + 1;
}
}
我希望我的问题不会太不透明,但有人可以解释在入队函数中使用指针吗?我以为排队的原理是分配一些精确的连续内存地址,但不是那么肯定......