컴퓨터 썸네일형 리스트형 C process, thread 프로세스, 스레드 I. 프로세스 process 프로세스(process)란 단순히 실행 중인 프로그램(program)이다. 즉, 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행 중인 것이다. 이러한 프로세스는 프로그램에 사용되는 데이터와 메모리 등의 자원 그리고 스레드로 구성된다. II. 스레드 thread 스레드(thread)란 프로세스(process) 내에서 실제로 작업을 수행하는 주체이다. 모든 프로세스에는 한 개 이상의 스레드가 존재하여 작업을 수행한다. 또한, 두 개 이상의 스레드를 가지는 프로세스를 멀티스레드 프로세스(multi-threaded process)라고 한다. C exit() 1. syntax #include void exit(int status) 2. return 없음 3. parameters int status: 정상 종료는 0, 비정상 종료는 1을 전달한다. C 포인터 배열, 배열 포인터 구분 syntax 의미 포인터 배열 int* pArr[4] 요소가 포인터인 배열. 요소가 4개 배열 포인터 int (*pArr)[4] 배열을 가리키는 포인터. 포인터 연산에 의한 증감폭이 4칸 C 문자열 변수와 문자열 상수 1 char str1[5] = "abcd"; 2 char *str2 = "ABCD"; 1: 요소가 char형인 str1이라는 이름의 배열을 선언하고, 대입 연산자 오른쪽에 선언된 문자열을 저장하고 있다. 따라서 배열 st1이 저장하고 있는 문자열은 변수가 된다. 문자열 전체를 저장하고 있는 것이다. 2: 대입 연산자의 왼쪽에 char형 포인터를 선언하고, 오른쪽에는 "ABCD"를 가리키겠다는 의미가 된다. 따라서 str2는 문자열의 첫 문자 'A'를 가리키게 된다. 포인터의 타입이 char*인 이유도 여기에 있다. 메모리상에 저자오디어 있는 문자열 상수 "ABCD"를 단순히 가리키고만 있다. 문자열 상수는 메모리 공간에 저장이 되면, 그 순간에 문자열 상수의 주소 값이 반환된다. #include int .. C array 다차원 배열과 포인터 #include int main(void) { int arr[3][2] = { {1,2}, {3,4}, {5,6} }; printf("arr의 %%p: %p\n", arr); for(int i=0; i 이전 1 ··· 13 14 15 16 17 18 19 ··· 88 다음