※ 본 포스팅은 개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있음을 밝힙니다. 함수의 호출 방법에는 Call by value (값에 의한 호출)과 Call by reference (참조에 의한 호출) 두 가지의 방식이 있다. 우선 Call by value의 이해를 돕기 위한 간단한 그림을 준비했다. 우선 메인 함수에서 int n 을 선언하였다. 이는 메모리 상에 n 변수의 구역을 만들어 값으로 10을 저장한다.(그림 상의 1번) 그리고 나서 func 함수를 호출 할 때 변수 n은 인자로써 사용된다. 그러면 호출된 함수 func는 메인 함수에서 인자 값을 넘겨 받게 되는데(2번), 이 때 func 함수는 메인 함수의 변수 n의 데이터(값) 만을 가져다가 메모리에 새로운 공간을 만들..
※ 본 포스팅은 개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있음을 밝힙니다. 예전에 이것과 관련된 내용을 IT 포럼에서 발표하기 위해 만들어 놓은 prezi가 있다.함께 참고하면 좋을 듯.http://prezi.com/obkhqdxaz3zx/programming-compile-loading-for-korean/ 우선 개발자가 c언어로 코딩을 한다는 가정하에 이때 개발자는 *.c 혹은 *.cpp이 될 수도 있는 파일을 작성(Cording)하게 된다. 그리고 소스파일을 빌드(Build)하게 되는데 이때 고급언어인 C언어를 보다 낮은 언어인 어셈블리어로 변환하며 그 후에 다시 어셈블리어를 기계어로 바꿔주는 역할을 컴파일러(Compiler)가 수행한다. 대부분 흔히 고급언어에서 기계어..
※ 본 포스팅은 개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있음을 밝힙니다. 예1) int 자료형에서 데이터 overflow시 전혀 다른 값이 나오는 이유 int 자료형은 2byte의 크기의 메모리를 사용한다. 2byte를 bit로 환상하면 16bit가 되는데 그 중 1bit는 양, 음수를 판별하는 부호로 사용된다. 그래서 실제론 15bit를 사용하는데, 이는 unsigned int와 signed int의 표현 범위가 달라지는 이유이기도 하다.(unsigned는 부호비트 1bit를 연산비트에 더해 16bit를 사용하기 때문에) 만약 int형 변수(signed int)에 15bit로 표현하기 부족한 값이 들어간다면 그 오버된 값이 2진수로 변환되어, 그 값이 15bit에 잘려서 ..