모던 C (전문가를 위한 C 작성법!)

모던 C (전문가를 위한 C 작성법!)

$30.00
Description
C만이 가진 고유한 개념과 작성 기법을 배워
'더 완전한' C 프로그램을 작성할 수 있다!
C 언어는 50년 이상된 프로그래밍 언어이며, 처음 등장한 이후 컴퓨터, 전화기, 카메라, 냉장고, 자동차 등 프로그래밍 인터페이스를 가진 거의 모든 기기에서 사용되고 있다. 이처럼 C로 만든 프로그램이나 시스템은 어디서나 볼 수 있지만 제대로 된 C 관련 자료는 굉장히 드물다. ISO C 표준 공동 편집자인 저자는 최신 C 표준을 기반으로 C만이 가진 고유한 개념과 작성 기법을 소개하고, C 언어에서 특별히 가치 있게 눈여겨볼 부분을 주로 설명한다.
저자

옌스구스테트

본대학(UniversityofBonn)과베를린공과대학(BerlinTechnicalUniversity)에서수학을전공했다.과학연구경력의대부분은소프트웨어개발과관련이있다.처음에는주로C++를다뤘지만나중에는C만집중적으로사용했다.현재ISOJTC1/SC22/WG14의전문가(AFNOR)로활동하고있고,C표준문서인ISO/IEC9899:2018의공동에디터를맡고있다.C프로그래밍을주로다루는블로그도활발히운영하고있다(https://gustedt.wordpress.com).

목차

레벨0만남

1장들어가며
1.1명령형프로그래밍
1.2컴파일하고실행하기
1.3요약

2장프로그램의핵심구조
2.1문법
2.2선언
2.3정의
2.4문장
__2.4.1반복
__2.4.2함수호출
__2.4.3함수리턴
2.5요약

레벨1친숙

3장결국은제어
3.1조건부실행
3.2반복문
3.3다중선택
3.4요약

4장계산표현하기
4.1산술
__4.1.1+,-,*
__4.1.2나눗셈과나머지
4.2오브젝트를수정하는연산자
4.3불연산
__4.3.1비교연산
__4.3.2논리연산
4.4삼항연산자와조건연산자
4.5평가순서
4.6요약

05값과데이터
5.1추상상태기계
__5.1.1값
__5.1.2타입
__5.1.3바이너리표현과추상상태기계
__5.1.4최적화
5.2기본타입
5.3값지정하기
__5.3.1복소수상수
5.4암묵적변환
5.5초기자
5.6이름있는상수
__5.6.1읽기전용오브젝트
__5.6.2열거형
__5.6.3매크로
__5.6.4복합리터럴
5.7바이너리표현
__5.7.1부호없는정수
__5.7.2비트집합과비트단위연산자
__5.7.3시프트연산자
__5.7.4불값
__5.7.5부호있는정수
__5.7.6고정폭정수타입
__5.7.7부동소수점데이터
5.8요약

6장파생데이터타입
6.1배열
__6.1.1배열선언
__6.1.2배열연산
__6.1.3배열길이
__6.1.4매개변수로사용하는배열
__6.1.5스트링은특별하다
6.2불투명타입으로사용하는포인터
6.3구조체
6.4타입이름새로짓기:타입앨리어스
6.5요약

7장함수
7.1간단한함수
7.2main은특별하다
7.3재귀호출
7.4요약

8장C라이브러리함수
8.1C라이브러리의기본속성과제공함수
__8.1.1헤더
__8.1.2인터페이스
__8.1.3오류검사
__8.1.4경계값검사인터페이스
__8.1.5프로그램사전조건
8.2수학함수
8.3입력,출력,파일조작
__8.3.1서식을적용하지않은텍스트출력
__8.3.2파일과스트림
__8.3.3텍스트IO
__8.3.4서식지정출력
__8.3.5서식없는텍스트입력
8.4스트링처리와변환
8.5시간
8.6런타임환경설정
8.7프로그램종료및어서션
8.8요약

레벨2이해

9장스타일
9.1코드서식
9.2이름짓기
9.3요약

10장구성과문서화
10.1인터페이스문서화
10.2구현
__10.2.1매크로
__10.2.2순수함수
10.3요약

11장포인터
11.1포인터연산
__11.1.1주소연산자와오브젝트연산자
__11.1.2포인더덧셈
__11.1.3포인터뺄셈
__11.1.4포인터유효성
__11.1.5널포인터
11.2포인터와구조체
11.3포인터와배열
__11.3.1배열과포인터는접근방식이서로같다
__11.3.2배열매개변수와포인터매개변수는서로같다
11.4함수포인터
11.5요약

12장C메모리모델
12.1균일메모리모델
12.2유니온
12.3메모리와상태
12.4불특정오브젝트에대한포인터
12.5명시적변환
12.6이펙티브타입
12.7정렬
12.8요약

13장스토리지
13.1malloc과친구들
__13.1.1가변크기배열예제의완성버전
__13.1.2동적할당연산에대한일관성보장하기
13.2스토리지기간,수명,가시성
__13.2.1정적스토리지기간
__13.2.2자동스토리지기간
13.3보충설명:오브젝트를정의하기전에사용하기
13.4초기화
13.5보충설명:머신모델
13.6요약

14장고급처리과정과IO
14.1텍스트처리
14.2서식지정입력
14.3확장문자집합
14.4바이너리스트림
14.5에러검사와클린업
14.6요약

레벨3숙달

15장성능
15.1인라인함수
15.2restrict지정자사용하기
15.3측정과인스펙션
15.4요약

16장함수같은매크로
16.1함수같은매크로작동방식
16.2인수검사
16.3호출문맥에접근하기
16.4디폴트인수
16.5가변길이인수리스트
__16.5.1가변인수매크로
__16.5.2참고:가변인수함수
16.6타입독립프로그래밍
16.7요약

17장다양한제어흐름
17.1복잡한예
17.2순서정하기
17.3숏점프
17.4함수
17.5롱점프
17.6시그널핸들러
17.7요약

18장스레드
18.1간단한스레드제어
18.2경쟁상태가없는초기화와소멸
18.3스레드로컬데이터
18.4크리티컬데이터와크리티컬섹션
18.5상태변수를이용한통신
18.6복잡한스레드관리
18.7요약

19장아토믹접근과메모리일관성
19.1선행관계
19.2동기화를지원하는C라이브러리호출
19.3순차적일관성
19.4그밖의일관성모델
19.5요약

TAKEAWAY
참고문헌
찾아보기

출판사 서평

C++뿐만아니라C언어의표준도지속적으로발전하고있습니다.최신의C언어코드모양새는C++언어에익숙한개발자들에게난감함을선사하기도합니다.기본바이블서적은완전히기반에둔내용만을설명하는경우가많은데,이책은입문자의기반을튼튼히하는내용과실무에서누구나한번쯤실수할만한내용(예를들어멀티바이트스트링을다루는함수,volatile키워드영향력테스트,스레드와뮤텍스등)을충실히설명하고있습니다.프로젝트에따라C언어를훑어봐야하는개발자나C언어의구석구석을살펴보고싶은개발자에게추천합니다.
_김용현_MicrosoftMVP

사물인터넷,자동차,에너지,로봇등다양한산업분야에서C,C++,HTML,자바,파이썬,Go등다양한프로그래밍언어를접하다가결국C언어로돌아오는길목에서이책을만났습니다.전문프로그래머는아니지만C언어는포인터만잘이해하면된다고생각했었는데,그동안접하지못했던제어흐름,어토믹,스레드,표준화된C언어용어와코딩스타일을레벨0부터레벨3까지단계별로하나씩배울수있어좋았습니다.기본으로돌아가다시C언어를시작하는분이나표준화된C언어의깊이를놓쳐더찾아보고싶은분께이책이좋은안내서가될것입니다.
_심태형_ETRI선임연구원

요즘은다양한언어를사용하지만C언어만큼컴퓨터를잘알수있는언어는없다고생각합니다.이책에서는C언어의기초부터고급문법,다양한라이브러리를접할수있고,깔끔한코드작성,매크로,CS적인내용까지활용해볼수있습니다.입문자에게는기초부터탄탄하게배울기회를,중급자에게는스킬업기회를제공합니다.C언어를활용하는현업개발자라면항상옆에두고필요할때꺼내보는참고서가되어줄것입니다.
_전은영_네트워크개발자

이책은레벨을나누어같은기술도난이도에맞는수준으로설명합니다.레벨0부터레벨3까지순서대로읽다보면자연스럽게지식을습득하는구조라책을읽으면서나의레벨은어느정도일까가늠해보는재미도있습니다.레벨후반부로갈수록난이도가높아읽는속도가느려지긴해도나의수준을파악하고앞으로의공부방향을결정하는데도움이됩니다.이책의특히좋은점은원리나역사와함께언어의특징을설명한다는것입니다.데이터형식부터포인터,구조체,표준라이브러리나코딩스타일까지C언어와관련된모든내용을깊이있게살펴보므로심도있는C언어학습이나더좋은코드를짜는힌트를얻을수있습니다.
_최사랑_42서울교육생