키워드 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 값을 변화시킬 수 없음
실행중인 프로그램의 메모리 공간
데이터 = 전역변수가 저장되는 영역
스택 = 지역변수 및 매개변수가 저장되는 영역
힙 = malloc 함수호출에 의해 프로그램이 실행되는 과정에서 동적으로 할당이 이뤄지는 영역
malloc & free = malloc 함수호출에 의해 할당된 메모리 공간은 free 함수호출을 통해서 소멸하지 않으면 해체되지 않는다
Call - by - value 와 Call - by - reference 의 차이
void SwapByValue(int num1, int num2)
{
int temp = num1;
num1 = num2;
num2 = temp;
} //Call-by-value
void SwapByRef(int* ptr1, int* ptr2)
{
int temp = *ptr1;
*ptr1 = *ptr2;
*ptr2 = temp;
} //Call-by-reference
'C++ 이야기 (열혈) > C언어 기반의 C++ 2' 카테고리의 다른 글
6. C++에서 C언어의 표준함수 호출하기 (0) | 2023.01.17 |
---|---|
5. malloc & free를 대신하는 new & delete (0) | 2023.01.17 |
4. 참조자(Reference)와 함수 (0) | 2023.01.17 |
3. 참조자 &(Reference)의 이해 (0) | 2023.01.17 |
2. 새로운 자료형 bool (0) | 2023.01.17 |