
User에는 집(Process)이 있고 그 안에 사는 사람들(Thread)가 있으며, 남에 집에 침범 할 수 있는 일종의 경찰/검사들(Debugger)가 존재한다. Kernel은 정부(구성요소)라고 가정하며, H/W는 영토, 영해, 영공이라고 가정하자. 입출력 같은 경우는 User에서 발생하지 않고, Kernel에서 발생한다. User 모드 어플리케이션은 Kernel의 요소에 접근하는 것 뿐이다. 그리고 접근하기 위해 kernel의 추상화된 인터페이스인 file을 놓아준다. File은 Buffer(Memory)를 가지고 있는데, 하나는 Write 용 또 하나는 Read 용이라고 가정. getchar()는 buffer로부터 한글자를 퍼올린다. scanf()는 형식문자에 맞게 꺼내온다. gets()는 한줄 ..

실수형에 대해, float 는 단정도형이며 32bits (소수점이하 6자리) double 는 배정도형이며 64bits (소수점이하 15자리) long double 는 특수정도형이며 80bits ( 그 이상) // 단, long double을 지원 안하는 컴파일러들이 있다. float 123.0; // float 인식 double 123.0; // double 인식 123.0F; // float 인식 123.0; // double 인식 중요! float 형식은 '오차'를 가짐. why? 근사값 처리를 하기 때문에. printf("%f\n", 2147483648.0F - 20); // 2147483648.000000 printf("%f\n", 2147483648.0F - 40); // ..

자료형이란, " 일정 길이의 메모리 속에 저장된 정보(자료)를 해석하는 방법 " 자료(정보) => 수(숫자) 컴퓨터는 '전자식 계산기'이므로 0과 1로 밖에 인식하지 못함. 메모리는 주소를 갖고 있고 주소는 16진수로써 표시됨. 변수는 메모리를 갖고 메모리는 주소를 가지며 변수는 이름을 할당받음. 또한, 상수의 상태는 부호가 있는 것과 없는 것으로 나눌 수 있는데. 이에 대해, c언어는 signed 와 unsigned 로 구분 할 수 있다. int a = 10; unsigned int b = 10U; signed는 생략한다. signed 형은 부호가 있고, unsigned 형은 부호가 없다. signed와 unsigned의 정확한 구분과 사용이유를 인터넷을 통해 알아보았는데, 가장 ..

#include int main(void) { printf("Hello, World!"); return 0; } 여기서 #은 전처리기를 뜻하며, 전처리기란 '컴파일 전' 처리기라고 한다. include는 일종의 예약어이다. ~~.h 는 소스코드이며 선언을 포함한다. ~~.c 도 소스코드이며 정의를 포함한다. int는 반환형식이며, void가 쓰여있는 곳은 매개변수를 적는 곳이다. { }를 blcokscope라고 한다. 항이 모여 구문이 되고 구문이 모여 함수를 이룬다고 한다. 여기서 main()은 caller 이며, printf()는 callee 이다.
- Total
- Today
- Yesterday
- 구조체
- 1차원 배열
- 프로그래밍
- 비트필드
- 3차원 배열
- call by value
- timecomplexity
- inflearn
- 파이썬
- 자료구조
- call by reference
- 시간복잡도
- 포인터
- 재귀함수
- 직접 지정
- 회전리스트
- 알고리즘
- 공부
- 다차원 배열
- C
- Algorithm
- 2차원 배열
- 형승격
- 간접 지정
- codeit
- 공간복잡도
- 배열
- 강의
- 종류
- 공용체
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |