본문 바로가기

c언어

(2)
[c언어] 메모리 구조 프로그램을 실행하면 해당 프로그램을 가져와 메모리에 올리게 된다. 운영체제는 프로그램이 사용할 메모리 영역을 크게 4가지 영역에 할당한다. ​ 1. 코드(Code) 영역 - 기계어로 번역된 소스 코드를 저장하는 영역으로 흔히 text 영역이라고도 한다. - 프로그램 실행을 위한 모든 명령문들이 저장되어 있다. 2. 데이터(Data) 영역 - 전역 변수, 정적(static) 변수, 초기 문자열 상수, 초기 리터럴 상수가 할당되는 영역. - 프로그램 시작하면 할당하고, 프로그램 종료하면 메모리에서 해제한다. ​ 3. 스택(Stack) 영역 - 함수 호출 시 생성되는 지역 변수, 지역 함수, 매개 변수가 저장된다. - 이는 컴파일할 때 크기를 결정한다. - 함수 호출이 완료되면 사라진다. ​ 4. 힙(Heap..
[c언어] call by value, call by reference 차이점 0. 함수 호출 방법 - c에서 함수가 호출되는 방법은 대표적으로 call by value, call by reference가 있다. ​ - 실제 인자(actual parameter) 함수에 전달되는 인자(=parameter, 매개변수) - 형식 인자 (formal parameter) 함수가 전달받은 인자(=argument) - 함수가 호출될 때, 메모리에 함수를 위한 임시 공간이 생성된다. 이 공간은 함수가 종료되면 사라진다. 메모리 구조 링크 #include void func(int formal_parameter){ //형식 인자 //func 호출되면 acual_parameter 값이 formal_parameter에 복사된다. } int main(int argc, const char * argv[])..