자료구조 큐 질문입니다. c 소스코드 포함
하늘이
질문 제목 : 자료구조 큐 질문입니다.메인함수 인자전달 부분에 argc와 argv가 왜 들어가있는 건가요??
tmp=queue[front] 이부분은 배열의 주소값이 tmp변수에 저장되는 건가요 아님 배열의 데이터값?이 저장되는 건가요?
질문 내용 :
#include stdio.h
#define max 10
int queue[max];
int front = -1;
int rear = -1;
void menu();
void init();
void put(int);
int get();
int isfull();
int isempty();
int main(int argc, char **argv)
{
int sel;
int data;
int i;
while(1){
menu();
scanf(%d, &sel);
switch(sel){
case 1 :
init();
break;
case 2 :
printf(데이터를 입력하세요 : );
scanf(%d, &data);
put(data);
break;
case 3 :
printf(get 된 값은? : %d\n, get());
break;
case 4 :
printf(bye\n);
return 0;
default :
printf(잘못 입력 하였습니다.\n);
break;
}
printf(front : %d, rear :%d , front, rear);
for(i=0; i10; i++){
printf(%d, queue[i]);
}
printf(\n);
}
return 0;
}
void menu()
{
printf(1. init\n);
printf(2. put\n);
printf(3. get\n);
printf(4. 종료\n);
printf(\n);
printf(메뉴를 선택하세요 :\n);
}
void init()
{
int i;
front = -1;
rear = -1;
for(i=0; imax; i++){
queue[i]=0;
}
}
void put(int data){
if(isfull()){
printf(queue is full\n);
return;
}
rear=++rear % max;
queue[rear] = data;
}
int get(){
int tmp;
if(isempty()){
printf(queue is empty\n);
return 0;
}
front=++front % max;
tmp=queue[front];
queue[front]=0;
return tmp;
}
int isfull(){
return queue[(rear+1) % max] != 0;
}
int isempty(){
return queue[(front+1) % max] == 0;
}
메인함수 인자전달 부분에 argc와 argv가 들어간 이유가 뭔가요??
인자전달부분을 비워도 실행에는 이상이 없던데...
초보라서 잘 모르겠네요 ㅠㅠ
그리고 get 함수부분에서 tmp=queue[front] 이부분은 tmp변수에 queue[front]의 주소값이 저장되는 건가요?? 아님 배열front번째의 데이터값?이 저장되는건가요??
자세한 설명 부탁드립니다!!! 수고하세요