logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

C 포인터의 이해와 활용

C 포인터의 이해와 활용

(메모리 관리의 핵심 기술)

리차드 리스 (지은이), 조인중, 강성용 (옮긴이)
제이펍
24,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 로딩중
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

C 포인터의 이해와 활용
eBook 미리보기

책 정보

· 제목 : C 포인터의 이해와 활용 (메모리 관리의 핵심 기술)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 프로그래밍 기초/개발 방법론
· ISBN : 9788994506791
· 쪽수 : 288쪽
· 출판일 : 2013-12-20

책 소개

C 포인터와 메모리 관리에 관한 확고한 이해로 프로그래밍 실력을 향상시킬 수 있다. 이 책은 포인터가 어떻게 메모리에 대한 동적인 관리 메커니즘과 데이터 구조에 대한 향상된 지원, 그리고 하드웨어에 대한 접근 방법을 제공하는지에 대해 배울 수 있는 책이다.

목차

1장 시작하기
포인터와 메모리 2
포인터를 잘 알아야 하는 이유 4
포인터 선언하기 7
포인터 선언을 읽는 방법 9
주소 연산자 10
포인터 값 출력하기 12
간접 참조 연산자로 포인터 역참조하기 14
함수 포인터 15
Null의 개념 15
포인터의 크기와 데이터 타입 21
메모리 모델 21
사전 정의된 포인터 관련 데이터 타입 22
포인터 연산자 27
포인터 산술 연산 27
포인터 비교 33
일반적인 포인터 사용 33
다중 수준 간접지정 33
상수와 포인터 35
요약 42

2장 동적 메모리 관리
동적 메모리 할당 46
메모리 누수 49
동적 메모리 할당 함수 52
malloc 함수 사용하기 53
calloc 함수 사용하기 58
realloc 함수 사용하기 59
alloca 함수와 가변 배열 62
free 함수로 메모리 반환하기 63
해제된 포인터에 NULL 할당하기 64
이중 해제 65
힙 메모리와 시스템 메모리 67
프로그램 종료 시 메모리 해제 67
댕글링 포인터 68
댕글링 포인터 예제 68
댕글링 포인터 다루기 71
메모리 누수 탐지 기능 72
동적 메모리 할당 기술 73
가비지 컬렉션 73
리소스 획득 즉시 초기화 74
예외 처리기 사용하기 75
요약 76

3장 포인터와 함수
프로그램 스택과 힙 78
프로그램 스택 78
스택 프레임의 구성 80
포인터에 의한 전달과 반환 83
포인터로 전달하기 83
값에 의한 전달 85
상수 포인터 전달하기 86
포인터 반환하기 87
로컬 데이터 포인터 89
Null 포인터 전달하기 91
포인터의 포인터 전달하기 92
함수 포인터 96
함수 포인터 선언하기 96
함수 포인터 사용하기 98
함수 포인터 전달하기 100
함수 포인터 반환하기 100
함수 포인터의 배열 이용하기 101
함수 포인터 비교하기 103
함수 포인터 캐스팅 103
요약 105

4장 포인터와 배열
배열 108
1차원 배열 109
2차원 배열 110
다차원 배열 111
포인터 표기법과 배열 112
배열과 포인터의 차이점 115
malloc 함수로 1차원 배열 생성하기 116
realloc 함수로 배열 크기 조정하기 117
1차원 배열 전달하기 121
배열 표기법 사용하기 122
포인터 표기법 사용하기 123
1차원 포인터 배열 이용하기 124
포인터와 다차원 배열 126
다차원 배열 전달하기 129
2차원 배열 동적으로 할당하기 133
불연속 메모리 할당 134
인접한 메모리 할당하기 135
가변 배열과 포인터 137
요약 140

5장 포인터와 문자열
문자열 기초 144
문자열 선언 145
문자열 리터럴 풀 146
문자열 초기화 148
표준 문자열 연산 153
문자열 비교하기 153
문자열 복사하기 156
문자열 연결하기 158
문자열 전달하기 162
단순 문자열 전달하기 162
상수 문자에 대한 포인터 전달하기 164
전달한 문자열 초기화하기 165
애플리케이션에 인자 전달하기 167
문자열 반환하기 169
리터럴 문자열의 주소 반환하기 169
동적으로 할당된 메모리 주소 반환하기 171
함수 포인터와 문자열 173
요약 176

6장 포인터와 구조체
소개 178
구조체에 메모리가 할당되는 방법 180
구조체 할당 해제 이슈 181
malloc/free 오버헤드 회피하기 185
포인터와 데이터 구조 187
단일 연결 리스트 189
포인터와 큐 198
포인터와 스택 201
포인터와 트리 203
요약 208

7장 보안 이슈와 포인터의 오남용
포인터의 선언과 초기화 213
부적절한 포인터 선언 213
초기화되지 않은 포인터 214
초기화되지 않은 포인터 처리하기 215
포인터 사용 이슈 216
NULL 확인하기 217
참조 연산자의 잘못된 사용 217
댕글링 포인터 218
배열의 범위를 벗어난 메모리 접근 218
배열 크기 계산 오류 219
sizeof 연산자 오용 220
항상 포인터 타입 일치시키기 221
유계 포인터 222
문자열 보안 이슈 223
포인터 연산과 구조체 225
함수 포인터 이슈 227
메모리 해제 이슈 229
이중 해제 229
민감한 데이터 지우기 230
정적 분석 도구 사용하기 230
요약 232

8장 기타
포인터 캐스팅 234
특수 목적 주소 접근하기 236
포트에 접근하기 237
DMA로 메모리 접근하기 239
시스템의 엔디안 종류 알아내기 239
에일리어싱, 엄격한 에일리어싱, 그리고 restrict 키워드 240
유니언을 사용해 여러 방법으로 값 표현하기 242
엄격한 에일리어싱 규칙 244
restrict 키워드 사용하기 245
스레드와 포인터 246
스레드 간의 포인터 공유 247
함수 포인터를 이용한 콜백 함수 지원 251
객체 지향 기법 253
불투명 포인터 생성하고 사용하기 253
C 언어에서의 다형성 258
요약 264

저자소개

리차드 리스 (지은이)    정보 더보기
산업과 학계 모두에서 근무했다. 17년 동안 통신 및 항공 산업에서 근무했고, 연구 및 개발, 소프트웨어 개발, 감독, 교육을 비롯한 분야에서 다양한 능력을 제공했다. 현재 산업에서의 다년간 경험을 가르침에 적용할 수 있는 기회를 준 탈튼 주립대학교(Tarleton State University)에서 학생들을 가르치고 있다. 다수의 자바 책과 C 포인터 책을 출간했다. 가까운 주제에 대해 간결하고 쉬운 접근 방식을 사용한다. EJB 3.1, 자바 7과 자바 8로 업데이트, 인증, 함수형 프로그래밍 jMonkeyEngine, 자연어 처리 등 다양한 자바 관련 도서를 저술했다.
펼치기
조인중 (옮긴이)    정보 더보기
역자는 IMF 이후 벤처 붐이 일던 2000년 우연찮은 계기로 IT업계에 뛰어들어 17년이 넘는 시간 동안 계속 이 업계에 몸담아 왔다. 한 여자의 남편이자 한 아이의 아버지로서 어떻게 하면 더 멋지게 살 수 있을지 고민하면서, 현실과의 괴리에 몸서리치는 중이다. 함께 옮긴 책으로는 《윈도우 파워셸 3 시작하기》, 《C 포인터의 이해와 활용》이 있다.
펼치기
강성용 (옮긴이)    정보 더보기
수능 모의고사를 치르다 교실을 뛰쳐나왔던 그날 이후로 지난 17년간 개발자로 일했으며, 지금은 디스코(www.disco.re) 서비스를 개발 중이다. 옮긴이에 대한 소식은 ulzima.com에서 볼 수 있다. 옮긴 책으로는 《자바 네트워크 프로그래밍(제4판)》이 있으며, 함께 옮긴 책으로는 《러닝 파이썬(제5판)》, 《러닝 스칼라》, 《리뷰의 기술》, 《C 포인터의 이해와 활용》, 《윈도우 파워셸 3 시작하기(제2판)》가 있다.
펼치기

책속에서

C는 중요한 언어로, 오랫동안 광범위하게 사용됐다. C 언어의 중심에는 언어 자체에 많은 유연함과 힘을 제공하는 포인터가 있다. 포인터는 메모리를 동적으로 다룰 수 있는 메커니즘을 제공하고, 데이터 구조를 더 강력하게 지원하며, 하드웨어에 대한 접근을 가능하게 한다. (중략) 포인터는 더욱 깊게 다뤄볼 만한 충분히 복잡한 주제이다. 이 책은 C의 깊은 이해를 위해 꼭 필요한 포인터를 집중해서 다룬다. 이 책에서 다루는 내용을 이해하기 위해서는 문맥에 따라 포인터의 사용과 함께 프로그램 스택(program stack) 및 힙(heap)의 실무 지식이 필요하다. 어떤 지식이든 피상적인 개요에서부터 깊이 있는 직관적인 이해에 이르기까지 다양한 각도로 이해될 수 있다. C에 대한 높은 수준의 이해는 포인터와 메모리 관리의 확실한 이해로 가능해진다.


포인터를 이해하는 열쇠는 C 프로그램에서 메모리가 어떻게 관리되는지 이해하는 데 있다. 결국, 포인터는 메모리의 주소를 담고 있기 때문이다. 메모리가 구성되고 관리되는 방법을 이해하지 못한다면 포인터의 동작 방식을 이해하기 쉽지 않다. 이런 우려를 해소하기 위해, 포인터의 개념을 설명하는 데 필요하다면 어디서든 메모리의 구성에 대해 설명할 것이다. 일단, 메모리와 그 구성 방법을 확실하게 이해하고 나면 포인터를 이해하기가 훨씬 쉽다.


C에서 동적 메모리 할당은 포인터를 사용하여 좀 더 효과적으로 사용할 수 있다. 동적 메모리를 할당하고 해제하는 데 malloc과 free 함수가 각각 사용된다. 동적 메모리 할당은 크기 조절이 가능한 배열이나 연결 리스트와 큐(queue) 같은 자료구조의 구현에 사용된다.


이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책