본문 바로가기

C/Definition&Grammar11

[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] 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.
[C] 그래프 알고리즘 (Graph Algorithm) 정의 : - 정점과 간선으로 구성하는 자료 구조ㅠㄷ 용어 : - 정점, 노드(Vertex, Node) : 여러 특성을 가질 수 있는 객체 - 간선(Edge, link) : 각 노드를 연결하는 선. 화살표나 직선 등 형태는 다양하다. - self-loops : 노드에서 자기 자신으로 돌아오는 간선. - Adjacency : 방향 그래프(Directed Graph) 에서 간선으로 연결된 이동가능한 인접 노드. 방향그래프의 간선은 편도이므로 역방향의 노드는 Adjacency 가 아니다. - Degree : 1) 각 노드에 연결된 간선의 수. 2) in-degree 는 해당 노드로 들어오는 간선. out-degree 는 해당 노드를 나가는 간선. 3) Degree = in-degree + out-degree -.. 2021. 3. 11.