티스토리 뷰

제 2강 공부한 내용입니다.

const 키워드란?
한마디루 변수를 상수화 시켜주는 것 입니다.
움직이는 값이 아닌 정해진 하나의 값으로 만들어주는 키워드죵
const int i = 10;
i=20;
이런식으로 하면 에러가 나겠쬬? 움직이지 못하는 값이니까요~ ㅎ

stack 이란 ?
메모리 공간에 나오는 개념
흠...스택이라함은 메인 함수가아닌 호출함수에 쓰이는 매개변수나 지역변수를 저장하는 공간이라고
설명하면 되겠다. 일회용으로 한번 사용하고 그 값을 지워버리는 공간? 이다.

heap 이란 ?
힙이라고 함은 프로그래머가 직접 할당하는 영역인데 여기서 사용하는것이 c에서는 말록과 프리함수였다.
만약 배열의 크기를 입력받는다고하면 거기에 몇바이트를 줘야 할지 컴파일러는 알수없다. 한마디로 사용자가 입력하는 값자체를 메모리 크기로 할당해야되는데 그걸 컴파일러는 알수없고 프로그래머도 알수없다. 그래서 말록 함수로 그 받은 크기만틈 메모리를 할당해준 곳이 힙이란 영역이다. 힙의 영역에 할당된 메모리는 프로그래머가 삭제하기 전에는 사라지지 않기 떄문에 꼭 프리함수를 써서 삭제 시켜줘야한다.
int* arr=(int*)malloc(sizeof(int)*size);
free(arr);

위 두문장이 한세트로 다녀야 한다. arr이라는 동적배열의 메모리 선언과 프리함수로 arr의 메모리를 삭제해주는 구문이다.

bool 이란?
다음은 bool의 자료형에 대해서 배웠다 한마디로 true false의 값을 반환해주는 자료형인데..
흠......뭐 c에서 일일이 선언하는 것보다 이거에 관한 자료형이 있으니 편한거 말고는..확실히
필요한지는 잘모르겠따 - _- ;;;물론 int값으로 bool형을 반환하면 1(true),0(false)이 나온다

래퍼런스란 ?
무지무지 c++에서 중요하다고 말하는 래퍼런스를 배웠다.
int b;
int& a=b;
b라는 놈에게 a라는 이름을 중복으로 설정해주는 것이다.
한마디로 b의 이름이 두개가 생긴것이다.

래퍼런스의 활용은 정말 많을 듯 싶다.
일단 데이터를 확실하게 줄일수 있다. 한 데이터에 이름만 여러게 만들어줘서 하기때문에
데이터 관리에 용이하다는 점.

메인함수의 있는 것들 함수로 받아서 처리할때도 래퍼런스를 활용하면된다.

함수에서도 메인함수의 데이터에 접근이 가능하니 편리하다
물론 메인함수의 영향을 안미치기 위해서는 const 키워드를 사용하면된다
이것을 상수화하여 더이상 값이 변하지 못하게 하는것이다. 참조를 할때
사용하면 될듯 하다.

제2강에서는 래퍼런스가 가장 중요할 듯..


댓글