!?/C++18 동적메모리 할당 동적메모리 할당은 정말, 아주 유용하다. 배열의 경우 변수명을 크기하는 배열을 선언 할 수 없다. 그 변수가 const 형 이라면 가능하지만 일반적으론 안된다. 그때 사용할 수 있는 것이 바로 동적 메모리 할당이다. 여기서 우린 동적 메모리 할당이 무슨 의민가. 우선 메모리 할당은 말 그대로 메모리를 할당 하는 것이다. 쉽게 말해 "메모리 얼마 쓸거니까 줘. " 란 의미가 된다. 그렇다면 동적은 무엇일까? 동적의 의미를 알기 위해 정적 메모리 할당과 동적 메모리 할당의 차이를 알아보자. 우선 정적 메모리 할당의 경우 흔히 생각하는 변수 선언을 예로 들 수 있다. 정적 메모리 할당의 경우 프로그램이 시작 하기전에 메모리가 얼마인지 이미 계산되는 경우를 말한다. 그리고 메모리의 반납또한 함수가 끝나면 강제적.. 2012. 8. 11. 함수의 포인터 포인터란 어떤 변수의 주소를 가리켜 그 변수에 접근 하는 방법이다. 함수에도 포인터가 있다. 변수의 포인터와 개념은 똑같다. 함수에도 주소가 존재하기때문에 포인터로 함수의 주소를 가리킬 수 있다. 어떻게 사용하는지 보자. 반환값형식 (*포인터함수명)(시그니쳐) ; 쉽게 예제를 보자. void test(); void (*ptr)(); (*ptr) = &test; // 포인터 함수의 생성 (*ptr)(); //포인터함수의 호출 위의 예제는 test 함수의 포인터 함수 ptr를 생성하는 과정을 보여주었다. 호출의 경우 (*ptr)() 대신에 ptr() 으로도 사용이 가능하지만 이경우 이 함수가 포인터 함수인지 아닌지는 알수 없으니 사용을 자제해야한다. 포인터 함수의 중요한 점은 가리키려는 함수와 시그니쳐, 반.. 2012. 8. 11. 함수의 재귀호출 재귀호출이란, 자기자신을 호출하는 것이다. 아리송할 수도 있지만 예제를 보자. void test () { void test() } 위와 같은 코드가 재귀호출의 예이다. 함수내에서 자신을 또 호출 하는것이다. 잘쓰지 않는다면 위의 경우처럼 탈출구가 없기때문에 무한루프에 빠지게 된다. 이 재귀호출을 하는 함수를 흔히, 재귀함수 라고 부른다. 재귀함수의 경우 어떤경우에 쓰면 편하게 쓸수 있을까. 다음의 예제 코드를 보자. void test ( int a = 10) { cout 2012. 8. 11. 함수 함수. 어떻게 사용하느냐에 따라서 무긍무진한 변화를 보인다. 그중에 함수의 중요 기능들만 살펴보자. 함수의 기본 형식은 간단하다. 반환값의형태 함수명 ( 시그니쳐) 말로보면 어려울수도 있으니 간단한 예제를 보자. void print (int a) { cout 2012. 8. 11. 이전 1 2 3 4 5 다음