C언어
-
[WEEK08] Pintos PROJECT1 : THREADSSW Jungle/TIL (Today I Learned) 2022. 11. 17. 06:41
SW정글 8주차 과정인 "Pintos PROJECT1 : THREADS"를 수행하며, 배운 내용을 정리하려 한다. Project 1 : Threads에서 구현하는 기능은 다음과 같다. - Alarm Clock - Priority Scheduling 이 글에서는 Alarm Clock만 다룰 예정이다. Alarm Clock /* 처음에 제공된 timer_sleep() 함수 */ /* Suspends execution for approximately TICKS timer ticks. */ void timer_sleep (int64_t ticks) { int64_t start = timer_ticks (); ASSERT (intr_get_level () == INTR_ON); while (timer_elapse..
-
[WEEK07] C언어에서 문자열 다루기. 근데 이제 포인터와 파싱(parsing)을 곁들인SW Jungle/TIL (Today I Learned) 2022. 11. 10. 22:36
SW정글에서 7주차 과제인 웹 프록시 서버를 만들며, HTTP 통신의 기초를 공부하게 되었다. 여기서는 HTTP 통신에 대해서는 다루지 않고, 전달된 값을 분석하는 과정인 문자열 파싱(parsing)을 다뤄보려 한다. 1. C언어에서의 문자와 문자열 가. 문자열의 선언 기본적으로 C에서는 문자를 아스키 코드값으로 다룬다. 아스키 코드가 127까지 있으므로, 문자 하나는 char 자료형 (1 Byte) 크기에 담을 수 있다. 그래서 일반적으로 문자열은 char 배열로 선언한다. 문자열의 맨 마지막에는 널 문자가 들어가기 때문에, 문자열 배열의 크기는 문자열의 길이 + 1 로 설정해 주어야 한다. * 널 문자 == 숫자 0 == '\0' == NULL * 문자 '0'은 널 문자가 아님에 주의하라. ✚ 한글은..