컴공 일기9
게시글 주소: https://orbi.kr/00056578308

C언어를 처음 접하면 pointer 라는 개념이 무진장 사람을 헷갈리게 합니다. 하지만, 이 포인터라는 개념이 상당히 중요해요. 나중에 심화 개념의 이해의 근간이 되거든요. 그래서 C언어/C++언어를 전문적으로 다루려면 breaking point를 걸어놓고 메모리 접근을 많이 해보려고 시도해야 합니다. 그러면서 포인터라는 개념을 자연스럽게 받아들이게 되거든요. 오늘 제가 한 실습은 "가상 함수라는 걸 컴파일러가 어떻게 관리하는가?"를 알아보기 위해 breaking point를 두고 메모리 주소를 쫓아가봤습니다.
C언어는 주소의 언어라고 할 정도로, 메모리에 대한 이해가 진짜 철저해야 합니다. 한 가지 멋진 척을 해보자면,
컴퓨터 프로그램에서 기술하는 "변수"의 본질은 "메모리"랍니다. 그 자그마한 변수도 다 메모리에서 관리되고 있지요 ㅎㅎ. 함수라고 다를까요? 함수도 마찬가지로 메모리로 쫓아가서 추적할 수 있습니다. 재미있죠..?
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
-
출입은 자유입니다 http://sumizap.kr 들어오셔서 상단의 오픈채팅 누르면...
-
신고도 잘안되고 나도 귀찮고 진심도배만큼귀찮은게 없는데...;;
-
https://open.초콜릿원료.com/o/gxROtfv 옯 닉넴으로 들어오세요

코딩 잘하는 사람 보면 너무 부러운거에오에 저는 코딩 초보인 걸요 :(
이거보고컴공안가기로결심했다.
char* decision = "컴공이 미래다";
breaking point 보니까 눈 빠지게 디버깅히던 기억이 ㅋㅋㅋ ㅠㅠ
끝도 없는 디버깅의 세계 = 무한 새벽 라이프
Hello, World!
cout << "Hello, World!" << endl;

포인터가 제일어렵다고 하던데나중엔 이중 포인터(double pointer)도 나오죠.. ㅎㅎ 근데 포인터는 낯설어서 어려운 거지, 개념 자체가 어려운 건 아닙니다. 말로만 들으면 쉬운데, 그게 사용된 예제나 단순 코드를 보면 처음엔 어지러워 지는 거죠. 그래서, 포인터를 자유자재로 다루고자 한다면 예제도 예제지만, 그것이 코드 안에서 작동되는 원리를 몸과 눈으로 먼저 알고 있어야 하죠. 나중 가면, 포인터 문법은 뇌가 아니라 그냥 손이 먼저 가게 됩니다. 작동 맥락이 익숙하니까 딱히 뭘 생각할 필요가 없어지거든요. (예외: segmentation fault 버그를 만났을 때 빼고)
그래서, 메모리 접근하는 습관이 C언어를 공부할 때 아주 좋은 것이라고 생각합니다 :)

우와 되게 복잡해보이고 어려워보이는데...!그런걸 정리해서 설명 잘 하시는거 보면 넘 멋져요
열공하시느라 수고 많으셨습니다! 항상 응원해요 ㅎㅎ
앗 늘 응원해주셔서 감사드립니다! 어렵고 복잡하기보단 낯설어서 그러실 거예요.. ㅎㅎ 막상 코딩을 어느정도 알고 계신 분들이 보면 너무 당연한 얘기를 왜 이렇게 현학적으로 쓰고 있는지 비판하실 수도 있을 만큼이요!
그래도, 제 공부 지론 중에선 설명할 수 있어야 '아는 것'이라고 생각하기 때문에 기록을 남겨두는 거지용..! 물론, 이걸 보고 계신 분들께 조금이나마 도움이 되어보려는 의도도 있구요..
무튼 늘 좋게 보아주셔서 감사합니다 :)
c++ 함수 잘 모르겠는게 있어요 혹시 질문 받아주실 수 있으신가요? 문제입니다
네넹
근데 저도 모를 가능성이 다분해서... ㅋㅋㅋ