※ 본 포스팅은 개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있음을 밝힙니다. strlen : 공백을 포함한 총 문자열의 길이를 구한다. 인자로는 (길이를 구할 문자열 혹은 변수)가 들어가며, string.h에 정의되어 있다.strcmp : 문자열 비교 시 길이가 아닌 각각의 아스키 코드 값의 크기에 따라 A문자열 > B문자열 보다 크면 0보다 큰 값을 리턴, A문자열 > B문자열 과 같으면 0을 리턴, A문자열 > B문자열 보다 작으면 0보다 작은 값을 리턴 한다. string.h에 정의되어 있다.strcat : 특정 문자열에 다른 문자열을 이어 붙인다. 인자로는 (대상 변수, 붙일 문자열 혹은 변수)이며 string.h에 정의되어 있다.strcpy : 문자열을 복사하는 함수이..
※ 본 포스팅은 개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있음을 밝힙니다. 함수의 호출 방법에는 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)가 수행한다. 대부분 흔히 고급언어에서 기계어..
※ 본 포스팅은 개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있음을 밝힙니다. 예전에 이것과 관련된 내용을 IT 포럼에서 발표하기 위해 만들어 놓은 prezi가 있다.함께 참고하면 좋을 듯.http://prezi.com/obkhqdxaz3zx/programming-compile-loading-for-korean/ 전 포스팅에서 메모리의 영역은 코드, 스택, 데이터, 힙 세그먼트로 나눠진다고 조사하였다. 스택(Stack)은 LIFO(Last in Last out) 구조로 이루어져 있다. LIFO란 마지막으로 들어온 값이 처음으로 나간다는 뜻으로써 FIFO(First in First out) 구조의 큐(Queue)와는 상반되는 개념으로 설명되고 있다. 스택 프레임은 스택 세그먼트에서..