C26 [C] 버퍼(buffer) [버퍼 (buffer)] 정의 : printf(), scanf() 등 표준 입출력 함수를 사용시 입력이 저장된 '임시 메모리 공간' 장점 : - 문자를 하나씩 전달함이 아닌 묶어서 한번에 전달하므로, 전송 시간이 적게 걸려 성능이 향상 - 사용자가 문자를 잘못 입력했을 경우 수정 가능 버퍼링 방식 : - 완전 버퍼링 (Fully buffered) : 버퍼(buffer)가 가득 차면, 버퍼(buffer)의 내용물을 목적지로 전송 ex) 파일 입출력 - 라인 버퍼링 (Line buffered) : 입력된 문자 중 개행 문자가 나타날 때마다 버퍼(buffer)의 내용물을 목적지로 전송 ex) 키보드 입력 - 버퍼(buffer)는 출력에도 쓰일 수 있는데, 출력하고자 하는 데이터를 출력 데이터(buffer) 에.. 2021. 3. 15. [C] 유니온 (Union) #include union ex{ int i; char c; }; int main(){ union ex v; v.c = 'A'; printf("%d \n", &v.c); v.i = 10000; printf("%d \n", &v.i); return 0; } 출력하면 같은 주소값이 나온다. int i 와 char c 는 할당된 메모리 공간 안에서 각기 다른 위치를 점유하고 있기에 그렇다. ex) 할당된 메모리 = 주소값 = 집, int = 방 1, char = 방2 #include #include #define STU_NUMBER 1 #define REG_NUMBER 2 struct student { int type; union { int stu_number;// 학번 char reg_number[15];/.. 2021. 3. 12. [C] 구조체 예제 10, 20을 입력받아 출력하는 구조체를 프로그램하세요 #include #include struct student{ int number; }; int main(){ struct student s; s.number = 10; printf("%d\n", s.number); struct student *pS; pS = &s; (*pS).number = 20; printf("%d\n", (*pS).number); return 0; } #include typedef struct point{ int x; int y; }POINT; POINT translate(POINT a, POINT b){ POINT newP; newP.x = a.x + b.x; newP.y = a.y + b.y; return newP; } in.. 2021. 3. 12. [C] getch / putch getch(); 정의 : 문자 하나를 입력받는 함수. 대기함수로서 문자가 입력될 때까지 기다린다. #include #include int main(){ int word; printf("프로그램을 계속 진행하시겠습니까? (y/n)\n"); word = getch(); if(word == 'y'){ printf("\n%c 를 입력하셨습니다.\n", word); } else{ printf("\n프로그램을 종료합니다.\n"); } return 0; } getch 를 사용하려면 함수를 사용한다. - getche(); 라는 함수도 있다. 이는 메아리(Echo) 처럼 입력받은걸 화면에 확인시키듯 보여준다. #include #include int main(){ int word; word = getche(); print.. 2021. 3. 12. 이전 1 2 3 4 ··· 7 다음