본문 바로가기

C언어4

[C] Graph In C * 해당 글은 학과 수업으로 배운 내용과 코드가 포함되어 있으며 개인적 공부 목적으로 업로드하였습니다. Graph는 점처럼 표시된 vertices 혹은 nodes가 line으로 표시된 edges와 연결된 형태를 나타낸다. 각 edge는 한쌍의 vertices를 연결하고 있으며 두 vertices 사이에 최대 1개의 edge가 존재할 수 있다. 우리가 이 게시글에서 다룰 graph는 - undirected : edge(B, A) = edge(A, B) - no self-edges : (v, v) 사이에는 edge가 존재하지 않는다 graph는 vertices와 edge pair로 나타낼 수 있다. G = (V, E) 어떤 vertex의 neigbors는 해당 vertex와 edge를 통해 연결된 모든 ve.. 2022. 12. 15.
[C] C에서 숫자란? * 해당 글은 학과 수업으로 배운 내용과 코드가 포함되어 있으며 개인적 공부 목적으로 업로드하였습니다. C0/C1에서는 int는 32 byte이었는데 C에서의 int size는 오랜 시간 변해왔다. 현재 C에서는 int size는 compiler에 의해 결정된다. 이를 우리는 implementation-defined라고 부를 수 있다. 단, 이는 undefined behavior와는 다른 개념이다. C에서는 다양한 integer type이 존재한다. long : int보다 큰 타입의 integers short: int보다 작은 타입의 integers char: short보다 작은 타입의 integers (1 byte) C는 각 integer별로 unsigned variants를 제공한다. -같은 bits.. 2022. 12. 14.
[C] C언어에 대해 알아보자 * 해당 글은 학과 수업으로 배운 내용과 코드가 포함되어 있으며 개인적 공부 목적으로 업로드하였습니다. 오늘은 c언어에 대해 본격적으로 알아보겠다 여태까지 보아왔던 C0/C1은 contract을 포함한 C의 안전한(?) 버전이라고 할 수 있다. C Preprocessor 일반적 C program은 2가지 언어로 작성된 statements로 구성되어있는데 -C preprocessor language(#으로 시작하는) -C proper 이다. C preprocessor는 모든 c preprocessor directives를 process하고 코드를 C proper로 나타내는 프로그램이다. C preprocessor에 들어갈 C preprocessor directives의 종류에는 아래와 같다 -File in.. 2022. 11. 25.
Linked Lists란 무엇인가? * 해당 글은 학과 수업으로 배운 내용과 코드가 포함되어 있으며 개인적 공부 목적으로 업로드하였습니다. 학과 수업시간에 배운 내용을 그때그때 정리하고자 한다. 시험에도 도움이 되고 나중에 이후 무언가를 준비할때도 도움이 될듯하다 (절대 시험을 너무 망쳐서 강제로 복습하는게 아니다) Linked Lists Linked list 의 가장 큰 특징은 pointer를 통해서 다음 요소를 access할 수 있다는 것이며 각 element 를 node라고 부른다. 위 그림에서 파란색 상자 하나가 node인것이다. 위 구조에서 보듯이 next가 또다른 같은 구조의 node를 가리키고 있기 때문에 recursive하다는 특징을 가지고 있다. 코드로 구현하면 아래와 같다. typedef struct linked_node.. 2022. 10. 22.