개발하다 다른 분들에게 이 코드가 왜 작동하지 않는지 질문하고 싶어질 때가 있습니다. 하지만, 주변에 다른 분들이 없다면, 다 바쁘신 거 같다면 어떻게 해야 할까요? 그런 분들을 위해 고무 오리가 필요합니다. 고무 오리가 아니어도 괜찮아요. 작은 인형이나, 상상 속의 무언가라도 준비하세요. 그리고 그것(여기선 오리라고 할게요)에게 코드를 최대한 자세히 설명합니다. 이 코드는 무엇을 위한 코드인데, 이 줄은 어떤 역할을 하고… 최대한 오리가 이해할 수 있도록 한 줄 한 줄 설명해봅시다. 그러다 보면 코드의 문제점을 깨닫게 됩니다. 이런 방법을 고무 오리 디버깅 또는 러버 덕킹(Rubber Ducking)이라고 합니다. 코드를 설명하는 과정에서 다시금 코드의 흐름을 파악하고, 버그를 수정하게 됩니다. 꽤 오..
2023.03.02. 내용 수정 안녕하세요? 이화입니다. 오늘은 포인터에 대한 내용을 써 볼 거에요. C언어를 처음 배우시는 분 중에는 포인터가 정말 어렵고, 큰 벽이라고 생각하시는 분도 있습니다. 하지만 포인터는 쉽습니다. 거짓말 아니고 인터넷에서 겁 주는 것보다는 정말로 간단한 개념입니다. 그렇지만 포인터를 배우면서 자칫 오개념을 얻거나 하는 경우가 많기에, 포인터에 대한 설명은 최대한 단순화되거나, 너무 복잡해지는 경우가 많다고 생각합니다. 이 글을 쓰며 저는 최대한 오개념을 배제하고, 컴퓨터 개론에 관한 내용을 첨가하면서 쉽지만 깊이있는 글을 쓰려고 노력해 보았습니다. 포인터는 응용이 어렵지 이론은 큰 어려움이 없다고 생각합니다. 이 글이 포인터를 통해 심화된 무언가를 할 때 이론적 기반을 충분히..