안녕하세요. 파피몬입니다.
이번 겨울방학에 최호성 선생님의 "독하게 시작하는 C프로그래밍" 책을 유튜브 강의와 함께 공부하였습니다.
강의를 들은 내용을 종이에 정리하였고, 이 중 중요하다고 판단한 내용을 포스팅 하도록 하겠습니다.
아직 모르는 게 많은 학생이라 오개념이 있을 수 있습니다. 친절하게 댓글로 알려주시면 좋은 공부 될 것 같습니다!!
이번 Part1에서는, 1단원. C프로그래밍 입문 / 2단원. 자료형 / 3단원. 표준 입출력 도구에 대해서 복습해봅니다.
1. c소스파일이 실행파일이 되기 위해서는 해당 과정이 필요하다.
papimon.c (설계도) ---compiler (번역) ---> papimon.obj (부품) ---linker (조립)---> papimon.exe (완성품)
2. C언어에서 c소스파일(~.c)은 정의 부분을, 헤더파일(~.h)은 선언 부분을 담당한다.
3. 자료형이란 일정 길이의 메모리로 저장된 정보의 해석방법이다.
이 말은 곧, 같은 메모리에 저장되어 있어도 해석방법이 다르면 다른 자료형이 된다는 것!
4. 프로그래밍의 최소단위로 1byte를 사용하고, 32bit 프로그램 실행 시, 최대 4GB의 메모리 용량을 쓸 수 있다.
2^32 byte = 42.95억 byte = 4,194,304 KB = 4096 MB = 4GB
5. ASCII 코드는 원래 7bit 체제 였다가, 특수 문자의 합류로 총 8bit, 128개의 문자(0~127)가 등록되어 있다.
6. 컴퓨터의 뺄셈은 2의 보수 처리 후 덧셈으로 연산한다
7. 부동 소수점의 오차가 큰 float형 변수는 실수형 변수를 표현할 때 쓰지 않도록 한다.
대신 double, long double을 쓸 것.
8. 표준 입출력 도구<stdio.h>에 정의되어 있는 함수는 직접적으로 I/O를 수행하는 것이 아닌, Kernel에 요청 한다.
사용자는 User 모드에서 함수를 사용하고, 함수는 Kernel규칙에 맞는 방식으로 요청을 하여 User의 버퍼에 해당 내용을 읽어오거나 쓴다.
Kernal에서 직접 interrupt를 일으켜 가져오려면 <conio.h>에 있는 함수를 써야한다.
9. 표준 입출력 도구를 사용시, 엔터키에 해당하는 입력이 버퍼에 남을 수 있다. 이를 해결하기 위해 적재 적소에
>>char 형식 대신에 string 형식으로 입력받기
>>fflush(stdin) (gcc에서는 지원하지 않으니 확인해 보고 쓰기)
>>getchar( )로 엔터키에 해당하는 것 출력
>>scanf("%*c%c", &변수)... stdin에서 한 문자 (여기서는 엔터)를 얻어오고 버리고, 다음의 한 문자 얻어 &c에 저장
>>scanf("%d%*c", &변수)... int에 해당하는 것 가져오고 엔터를 버리고 입력받기
쓸 필요가 있다!
'프로그래밍 언어 > C언어' 카테고리의 다른 글
C언어 복습 <part4> (0) | 2020.03.24 |
---|---|
C언어 복습 <part3> (0) | 2020.03.12 |
C언어 복습 <part2> (0) | 2020.03.10 |
댓글