這裏是我的代碼:爲什麼結構,錯誤原因分段故障
struct queue {
int queue_arr[5];
int rear;
int front;
};
int main()
{
struct queue q;
int choice;
queue_init(q);
}
queue_init(struct queue *q)
{
int i = 0;
q->rear = -1;
q->front = -1;
for (; i < MAX; i++) {
q->queue_arr[i] = 0;
}
}
它會導致在執行分段錯誤:
[[email protected] test_cpp]# ./queue Segmentation fault (core dumped)
如果我刪除結構我將使用int queue_arr[5]; int rear; int front;
作爲全球細分誤差消失。爲什麼?以及如何避免它使用結構體白衣?
什麼是'''MAX'''? – tangrs
對不起,#define MAX 5. – rdo