C 队列初始化函数不存在';行不通
我试图使用数组实现队列,但是我的初始化函数似乎不起作用。即使函数的第一行也不会执行。以下是结构、功能和主要功能:C 队列初始化函数不存在';行不通,c,arrays,data-structures,queue,C,Arrays,Data Structures,Queue,我试图使用数组实现队列,但是我的初始化函数似乎不起作用。即使函数的第一行也不会执行。以下是结构、功能和主要功能: #include <stdio.h> #include <stdlib.h> typedef struct queue queue; struct queue{ int size, rear, front, length; int *arr; }; queue* init(queue *queue1){ queue1->si
#include <stdio.h>
#include <stdlib.h>
typedef struct queue queue;
struct queue{
int size, rear, front, length;
int *arr;
};
queue* init(queue *queue1){
queue1->size = 2;
queue1->front = -1;
queue1->rear = -1;
queue1->length = 0;
queue1->arr = (int*) malloc(sizeof(int)*queue1->size);
return queue1;
}
int main(){
queue* queue1 = init(queue1);
}
#包括
#包括
typedef结构队列;
结构队列{
内部尺寸、后部、前部、长度;
int*arr;
};
队列*init(队列*queue1){
队列1->size=2;
queue1->front=-1;
队列1->rear=-1;
队列1->长度=0;
queue1->arr=(int*)malloc(sizeof(int)*queue1->size);
返回队列1;
}
int main(){
队列*queue1=init(队列1);
}
必须首先为结构分配空间
像这样:
#include <stdio.h>
#include <stdlib.h>
typedef struct queue {
int size, rear, front, length;
int *arr;
} queue;
queue* init() {
queue *queue1 = malloc(sizeof(queue));
queue1->size = 2;
queue1->front = -1;
queue1->rear = -1;
queue1->length = 0;
queue1->arr = (int*) malloc(sizeof(int)*queue1->size);
return queue1;
}
int main(){
queue* queue1 = init();
}
#包括
#包括
typedef结构队列{
内部尺寸、后部、前部、长度;
int*arr;
}排队;
队列*init(){
queue*queue1=malloc(sizeof(queue));
队列1->size=2;
queue1->front=-1;
队列1->rear=-1;
队列1->长度=0;
queue1->arr=(int*)malloc(sizeof(int)*queue1->size);
返回队列1;
}
int main(){
队列*queue1=init();
}