오늘 지옥같은 외근을 마치고 강의를 들으러 왔습니다.
강의를 듣는 주만 꼭 외근이 잡히는 머피의 법칙.... 아...
===== 1 =====
[ 19 : 00~ 19 : 55 ]
일단 오늘도 역시 강사님의 사전테스트풀이와 자기소개, 그리고 수강생 개인의 자기소개가 있었습니다.
강사님께서 이름이 특이해서인지 되게 오래전에 한번 뵜었던 것 같은데 기억을 해 주셔서 감사하다는 마음이 들었습니다.
===== 2 =====
[ 20 : 05~ 21 : 06 ]
포인터!
2번째 시간에는 포인터부터 강의를 시작하셨습니다.
포인터 강의를 한창 하시다가 광교의 모델하우스 구경한 이야기를 해 주셨습니다. 블로깅을 하면서 왜 뜬금없이 이 얘기를 하시지? 라는 생각을 하자마자 왜 이 이야기를 했는지 감이 왔습니다.
이번장의 제목인 포인터와 무척 연관이 있어서 이야기를 시작하신 것 같은 느낌이 들었습니다.
그리고 강사님께서 그러한 설명을 이어서 하셨습니다. 본인이 보고온 모델하우스를 아내분에게 보여주는 방법
1. 모델하우스를 뜯어다가 아내분 앞에 가져온다 (현실적이지는 않지만 모델하우스를 볼 수 있음)
2. 모델하우스의 주소를 알려줘 아내분이 찾아가서 보도록 함
... 등등
즉, 위의 2번을 이야기하기 위해 강사님께서는 이런 이야기를 하셨습니다.
포인터는 주소를 가리키는 개념인데, 이것 보다는 주소값을 저장하고 있다는것과 같은 의미이고, 강사님께서는 이렇게 이해하는것을 권장하셨습니다.
즉, 주소값을 저장하고있는 변수다. => 포인터 변수 - 흔히 줄여서 포인터라고만 부르기도 하지만, 포인터 변수가 맞음.
따라서 포인터 변수에는 일반적인 값이 저장될 수 없고, 메모리의 주소값만 저장할 수 있습니다.
<실습 1> 포인터 예제
이 예제에서 *기호의 의미와 사용에 대해서 설명을 해 주셨습니다.
*기호는 선언을 할 때에는 이 변수가 포인터변수임을 나타내는 것이고, 사용을 할 때에도 *기호를 붙여서 사용을 해야한다고 하셨습니다.
포인터의 연산에 대해서는 포인터의 덧셈과 뺄셈을 보면 덧셈뺄셈 모두 가능하지만, 포인터간의 덧샘은 의미가 없으며, 포인터간의 뺄셈은 두 포인터간의 차(차이)로 거리개념으로 사용한다고 하셨습니다. 이 내용은
===== 3 =====
[ 21 : 15~ 21 : 55 ]
강사님의 개인 메일주소를 알려주시고, 인터넷에서 블로그, 잡지인터뷰등의 활동을 하신것을 잠시 보여주셨습니다.
그리고, 이어서 이론수업, 이번에는 포인터에 정수를 더하거나 빼는 연산을 통해 그 결과에 대해서 설명을 해 주셨습니다.
"주소값에 상수를 더하거나 빼면, 그 대상 포인터의 위치로부터 이동한 주소값이다." 라는 내용이었습니다.
<실습 2> 포인터 변수의 타입과 크기
포인터 변수의 크기는 타입과 상관없이 4Byte인데, 왜 타입을 적고 사용하는가? 라는 질문을 하셨고, 이번 수업을 들으면서 직전에 그런 고민을 하다가 딱 떠오른 아이디어로 답변을 하였습니다.
Type을 알아야 해당 주소로 가서 올바른 값을 가져올 수 있기 때문입니다.
교제에 나온 조금 더 정리된 답변은 포인터 변수가 가리키는 변수들의 실제값을 참조하기 위함이라고 하셨습니다.
간단한 숙제아닌 숙제를 내 주시고 다음장으로 넘어갔습니다.
배열과 포인터
포인터와 배열의 관계
문자열 상수와 포인터
포인터 배열
배열 포인터
포인터와 배열의 관계
배열이름의 의미
- 배열은 같은 종류의 변수를 여러 개 선언할 때 사용하는 형식
- 배열의 이름은 해당 배열의 첫 번째 요소의 주소값
배열의 이름또한 상수인 포인터변수이므로 연산을 통해 포인터처럼 증감하여 주소값을 탐색할 수 있습니다.
포인터 변수도 배열처럼 사용할 수 있습니다.
'강의노트' 카테고리의 다른 글
[사내세미나] 딥러닝, 데이터 분석, 발표시각화 등... (0) | 2020.05.28 |
---|---|
[C] C 프로그래밍 중급 - 2일차 (2) | 2018.08.21 |
[SW 공학] JIRA 실무에서 자유자재로 활용하기 - 기본 (0) | 2018.08.04 |
[SW 공학] XP (eXtreme Programming) 방법론의 이해와 활용 (0) | 2018.07.14 |
[Linux] Linux Fundamentals 3일차 (2) | 2018.06.20 |