본문 바로가기

Programming/C languages

(4)
FILE IO 에서 Text 파일과 Binary 파일의 차이점. 운영체제의 관점에서 봤을때 파일을 text 와 binary로 양분화 하여 구분짓지 않는다. 하지만 우리는 C languege 에서 두가지로 나눠서 fopen을 하게된다. 무슨 차이가 있을까? 사실 운영체제는 파일에 어떠한 텍스트도 그대로 저장하지 않는다. 숫자건 문자건 모두 binary로 저장한다고 봐야 옳다. 문자 A를 파일에 쓴다고 하는것은 65가 저장되는 것이다. 이것을 아스키코드 A로 인식하는 것일 뿐이다. C languege에서 쓰이는 것은 바이너리 오픈 , 그리고 텍스트 오픈 인것이다. 이만 줄임..-ㄴ-
[자료구조] Linked List (데이터 관리 방법) Linked list 란 배열과 대비되는 개념으로 개발할 때 배열에 비해 생각해야 하는 것도 많고 다루기 귀찮은 자료구조 이다. 즉, 우리가 자료들을 관리할 때 구조체를 많이 이요하는데 이 구조체의 객체를 배열로 선언해서 사용하는것과 다르게 필요할 때마다 동적할당으로 ( 주로 malloc을 이용 ) 객체를 생성해서 사용하는 것이다. 특이한 점은 Linked list 란 말 그대로 구조체의 객체들이 linked 되어 있는 것인데, 이것은 구조체의 인자중에 하나의 포인터를 만들어 각 객체들 끼리 서로 포인터를 연결 시켜서 서로 연관성을 주는 것이다. 예를들면 typedef struct linked_list { char name[20]; int phone; linked_list *pointer; }linked..
그래프 알고리즘. MAXV : vertex의 최대 개수 MAXDEGREE : 차수의 최대 값 typedef struct { int edges[MAXV+1][MAXDEGREE]; //연결상태 int degree[MAXV+1]; // 각 차수 int nvertices; // vertex의 개수 int nedges; // edge의 개수 } BFS ( 너비 우선 탐색 qseudo code ) BFS(G, s) // G 그래프 객체 , S 스타트 vertex for each vertex u ∈ V – {s} do color[u] ← GRAY d[u] ← ∞ π[u] ← NIL color[s] ← BLUE d[s] ← 0 π[s] ← NIL ENQUEUE(Q, s) while (Q ≠ φ) do u ← DEQUEUE(Q) for ..
FILE 처리 함수 요약 : int fgetc(FILE * fp); 파일에서 문자를 1 바이트씩 읽어 와서 int 형으로 리턴 시킨다. 오류가 발생하거나 파일에 끝에 도달했을 때 EOF 를 리턴 : int fputc(int ch, FILE *fp); 메모리 상에서 character를( 1 byte ) 를 파일에 입력한다. ch : 파일에 기록할 문자 상수 , fp : 대상이 되는 파일 포인터. fp가 가리키는 파일에 ch를 저장. 정상적으로 작동하면 기록한 문자를 int 형으로 리턴하고 그렇지 않으면 EOF를 리턴. : char *fgets(char *str, int n, FILE* fp); 파일에서 문자열을 n 길이만큼 읽어와 str이 pointing 하는 character에 삽입한다. 파일이 끝이거나 ‘\n..