#define BUFSIZE 100 이 버퍼 부분이 어떻게 처리되는지 이해가 잘 안가네요 ㅠㅠ 주석 부탁드립니다..진짜 답답합니다 ㅠㅠ
char buf[BUFSIZE]; // buffer for ungetch
int bufp = 0; // next free position int buf
int getch(void)// get a (possibly pushed back) character
{
return (bufp > 0 )? buf[--bufp] : getchar();
}
void ungetch(int c) // push character back on input
{
if(bufp >= BUFSIZE)
printf("ungetch: too many charcater \n");
else
buf[bufp++]=c;
}
스택에 대한 처리입니다. push와 pop..ㅡ_ㅡ;;
stack size는 maximum이 100이고..
ungetch는 파라미터로 받은 c변수를 bufp를 ++시키면서 buf에 저장시키고...
getch는 반대로 가져옵니다.ㅡ_ㅡ;;
일단 기본적으로 c언어 문법을 보셨다면.. 자료 구조에 대한 글도 찾아서 보심을 추천합니다.
구글에서 검색해서 그냥 한번 가볍게 읽어보시면 이해 되실꺼라 생각됩니다..^^