본문 바로가기

전체 글82

[독서후기] 화차 - 미야베 미유키 [독서후기] 화차 - 미야베 미유키 미야베 미유키의 소설은 장편이 많지만 그만큼 재미와 추리가 보장된다. 추리물이면서 동시에 사회의 이면, 사람들의 감정을 자극시키는 실력이 뛰어나다고 느낀다. 미야베 미유키의 소설을 처음 읽은 것은 고등학교 2학년 때 솔로몬의 위증이라는 3권의 책을 읽었을 때였다. 그때는 막연히 이런 두꺼운 책으로 말할 추리가 뭘까 싶어 호기심에 읽었는데 사람도 많이 나오고 얽힌 관계성이 다양해 종이에 사람들의 이름과 화살표를 쳐가면서 읽었던 기억이 있다. 그만큼 재미있는 책이다. 그 이후로도 종종 미야베 미유키의 소설을 읽게 됐다. 이번에 읽은 책은 '화차'라는 소설로 초창기 소설로 1992년 작이다. 조금 옛날의 이야기이기도 하건만 지금 읽어도 부자연스럽지가 않으니 신기하다. 대략 .. 2022. 1. 4.
[C] const 와 포인터 [C] const와 포인터 지난 포스팅에서 const와 포인터에 대해 알아보았다. 이제 그 둘의 관계에 대해 조금 더 알아보고자 한다. 기존에 배웠던 것을 떠올려보자. int a = 0; int* pInt = &a; //pInt가 a의 주소값을 가리키고 있다. *pInt = 1; // a의 값이 1로 바뀌었다. pInt = nullptr; // pInt가 a를 가리키지 않고 null을 가리키도록 바뀌었다. 여기까지는 잘 이해했을 거라고 생각한다. 포인터는 가리키는 변수의 값을 바꿀 수도 있고, 가리키는 것의 방향도 바꿀 수 있다. - const 포인터 int b = 0; const int* pConstInt = &a; //a 주소값을 가리킨다. *pConstInt = 100; //error // 포인터변.. 2022. 1. 4.
[C] const, const 값 바꾸기 [C] const, const 값 바꾸기 - const란? const는 변동되지 않는 상수를 뜻한다. const int cint = 100; // cint 값을 변동하지 못한다. -value : 상수 l-value : 변수 C라는 문법이 const를 쓰면 값이 변동되는 것을 문법적으로 막아줄 뿐이지 정말로 진짜 상수처럼 값을 절대 바꿀 수 없는 것은 아니다 - Q: 그러면 const에 상수의 값을 어떻게 바꿀 수 있는가? A: 포인터로 주소로 직접 가서 값을 바꾸면 된다! const int cint = 100; pInt = (int*)&cint; *pInt = 300; printf("cint 출력: %d \n", cint); 디버깅을 하면 300이 안 나온다. 물론 값은 300으로 바뀌어 있다! cint.. 2022. 1. 4.
[C] 포인터 Pointer [C] 포인터 Pointer - 포인터란? 포인터는 두 수를 가리키는 기능을 뜻한다. - 포인터 변수 포인터 변수란 주소를 저장하는 변수를 뜻한다. 자료형* + 변수명 을 통해 포인터 변수를 선언한다. 자료형은 해당 포인터에게 전달된 주소를 해석하는 단위 int* i = 100; // i는 주소를 저장하는 변수이다. 위 포인트 변수는 주소로 접근했을 때 그곳의 실제 메모리 공간을 int로 보겠다. 1. 포인터 변수에 주소를 줬다. 2. 그 주소가 가리키는 곳에 실제적으로 어떤 용도로 쓰이는지는 포인터 변수에게는 중요하지 않음(선언 시점에서 이미 자료형이(용도) 정해져 있음) int 변수의 주소는 int 포인터가 받아가는 게 맞고 short 변수의 주소는 short 포인터가 받아가는 게 일반적으로 맞다. .. 2022. 1. 3.