카테고리 없음

C++에 필요한 C언어의 복습

1) 키워드 const의 의미

const int num = 10;
//변수 num을 상수화 하겠다는 의미 이다. 

const int *ptr1 = &val1;
//포인터 ptr1을 이용해서 val1의 값을 변경할수 없다. 

int *const ptr2 = &val2;
//포인터 ptr2가 상수화 된다. 

const int * const ptr3 = &val3;
//포인터 ptr3가 상수화 되었으며, ptr3를 이용해서 val3의 값을 변경할 수 없다. 

 

2)실행중인 프로그램의 메모리 공간

데이터 : 전역변수가 저장되는 영역
스택 : 지역 변수 및 매개변수가 저장되는 영역
힙: malloc 함수호출에 의해 프로그램이 실행되는 과정에서 동적으로 할당이 이뤄지는 영역
malloc & free: malloc 함수호출에 의해 할당된 메모리 공간은 free 함수호출을 통해서 소멸하지 않으면 해제되지 않는다. 

 

3)Call by refrence 와 Call by value의 차이

 

이들의 특성은 다음 함수가 잘 알려줄 것이다. 또한 앞으로 중요한 내용이니 충분하지 않다면 더 공부해 보는것을 추천한다. 

 

void swapbyvalue(int num1, int num2)
{
	int temp = num1;
    num1 = num2;
    num2 = temp;
}

void swapbyref(int * ptr1, int * ptr2)
{
	int temp = *ptr1;
    *ptr1 = *ptr2;
    *ptr2 = temp;
}