programming

포인터의 선언은 다음과 같은 구조로 진행됩니다. variable_type *pointer_name; asterisk(*)만 없어지면 변수와 동일합니다. 예시 int *int_ptr; double *double_ptr; char *char_ptr; string *string_ptr; 하지만, 중요한 것은 선언과 동시에 초기화를 해 주어야 합니다. 초기화를 하지 않으면 포인터에 쓰레기 주소 데이터가 들어있게 됩니다. 초기화까지 한다면 다음과 같이 됩니다. variable_type *pointer_name {nullptr}; 예시 int *int_ptr {}; double *double_ptr {nullptr}; char *char_ptr {nullptr}; string *string_ptr {nullptr};
Pointer Pointer는 변수입니다. 변수의 구성 요소는 메모리상 위치, 변수 타입, 그리고 값을 가집니다. 포인터는 다른 변수나 함수의 주소를 저장하는 변수입니다. 이게 무슨 뜻이냐면, 변수의 '값' 에 해당하는 부분이 다른 대상의 메모리상 주소라는 것 입니다. 예를 들어 int x {10}; 으로 정수 변수 x를 선언하고 10을 할당했다면, 변수 x를 가르키는 다른 포인터를 선언할 수 있습니다. 그렇다면, 포인터는 왜 사용할까요? 포인터가 이미 존재하는 변수를 가르키는 변수라면, 그냥 원래의 변수를 사용하면 되는거 아닐까요? 포인터 사용의 이유 위의 질문을 이어서 이유를 설명하겠습니다. 맞습니다. 원래의 변수를 직접 사용하면 문제가 없습니다. 하지만, 우리는 종종 프로그램 속에서 복잡한 구조로 ..
'반복문 응용 프로그램' 포스트에서 구현했던 프로그램을 함수를 적극적으로 이용하여 동일하게 구현해 보았습니다. 기존의 프로그램은 함수의 활용이 없었지만, 이번 프로그램은 함수로 변경하고 기능도 몇 개 추가하였습니다. 함수 없이 반복문들로만 구현된 기존의 프로그램은 다음 포스트에서 확인 가능합니다. [C++] 반복문 응용 프로그램 코드 설명 switch문, for문, do-while문을 모두 활용한 간단한 프로그램입니다. 여러가지 기능을 수행하기 위해 사용자로부터 입력을 받고, 그 입력에 해당하는 기능을 수행합니다. 코드 #include using na code-studies.tistory.com 간략하게 설명하자면, 사용자로부터 문자를 통해 옵션을 선택 받고 그에 따른 동작을 행하는 프로그램입니다. 모든..
Recursive function, 재귀함수는 '스스로를 호출하는 함수' 입니다. 스스로를 호출하는 방법은 직접 호출할 수도 있고, 다른 함수를 통해 간접 호출할 수도 있습니다. 재귀함수는 이진탐색, 팩토리얼 연산, 피보나치 수열 등 수학이나 데이터를 다루는 분야에서 자주 사용됩니다. 첫번째로 팩토리얼(!)의 예시를 들어보겠습니다. 우선 팩토리얼이란, '그 수보다 작거나 같은 모든 양의 정수의 곱' 입니다. 0! = 1 이고, n! = n * (n - 1)! 이라고 이해하면 됩니다. 그 함수는 다음과 같이 재귀함수를 활용하여 구현할 수 있습니다. // factorial function unsigned long long factorial(unsigned long long n) { if (n == 0) re..
Ricky U. Lee
'programming' 태그의 글 목록