본문 바로가기

c++ 변수27

C++ [매크로, inline, #define] ▣ 안녕하세요. 이번장에서는 C++에서 매크로와 인라인을 공부해보겠습니다. 매크로는 우리는 C언어에서 #define으로 정의를 하는 부분과 동일합니다. #define PI 3.1412 이렇게 main함수 밖에서 #include와 함께 적었던 코드 기억하시죠. 그럼 PI라는 상수 기호가 3.1412 값으로 정의가 되는 걸 했던 기억을 있을 겁니다. #은 전처리기고 컴파일하기전에 처리해주는 걸 의미합니다. 그렇기 때문에 int PI = 3.1412 이렇게 선언 및 정의를 해준 것보다 과정에서도 컴파일 전에 하기 때문에 적겠죠? 이 부분을 기억하시고 이제 매크로를 활용하여 함수를 정의해보겠습니다. ▣ 매크로 함수를 정의하려면 함수를 정의하는 것과 거의 동일합니다. 함수 이름 앞에 #define을 붙어주시고 S.. 2021. 7. 30.
C++ [레퍼런스변수, 포인터, 주소, 참조] ▣ 안녕하세요 이번장에서는 포인터를 꼭 공부하고 진행해주세요. 메모리 주소에 대한 개념이 없으면 어렵습니다. ▣ 첫번째는 포인터를 이용해서 변수에 값을 바꿔보도록 하겠습니다. int num = 10; 변수를 정의하고 int *으로 int에 주소를 저장하는 pNum를 주소를 선언해줍니다. 그리고 &num에 주소를 대입해서 넣어주세요 그리고 값과 주소를 출력하는 코드를 넣고 *pNum 포인터로 간접으로 접근해서 20으로 대입을 해주고 출력을 하면 주소가 동일한걸 확인할 수 있고, 값이 바뀐 것도 확인할 수 있습니다. ▣ 이부분을 C++에서는 더 직관적으로 사용하게 만든 게 레퍼런스 변수, 참조 변수입니다. ▣ 이번에는 C++에 레퍼런스변수로 주소를 저장해서 값을 바꿔보겠습니다. 쉽게 정의를 해보겠습니다. 포.. 2021. 7. 23.
C++ [디폴트 매개변수] ▣ 디폴트 매개변수는 간단합니다. 함수에 매개변수에 초기값을 지정해주는 게 디폴트 매개변수라고 생각하시면 됩니다. ▣ function(int num1 = 1)을 해주시면 매개변수 기본값이 지정하게 되는데 여기서 중요한 부분은 호출을 하는 호출자가 값을 전달해주냐 주지 않느냐에 따라 달라집니다. function() 함수를 그냥 호출했을 때와 153, 39처럼 값을 전달해줄 때에 출력 결과가 다른 걸 볼 수 있습니다. 그냥 호출해주었을때 1이 출력되는 걸 확인할 수 있고, 값을 전달해준 호출은 그 값이 출력되는 걸 확인할 수 있습니다. 즉 우선순위는 호출자가 전달해주는 값입니다. ▣ 이번에는 여러개에 매개변수를 받아 호출해보겠습니다. 이번에는 num1, num2, num3 이렇게 3개에 매개변수로 값을 받아.. 2021. 7. 13.
C++ [함수 오버로딩] ▣ C언어에서는 똑같은 이름에 함수를 선언하고 정의해서 사용하게 되면 컴파일 오류가 나오게 됩니다. 하지만 C++에서는 이 부분을 함수 오버 로딩을 통해 여러 함수를 같은 이름으로 사용할 수 있습니다. ▣ 전에 C언어 코드를 .cpp소스 코드 파일을 만들어 코드를 작성해보겠습니다. C++에서 sum이라는 이름에 함수를 두 가지를 선언했습니다. 함수 오버로딩을 하는 방법은 아주 간단합니다. 위에 코드처럼 함수에 매개변수에 변수에 갯수가 다르거나, ▣ 매개변수에 변수에 갯수가 같더라도 자료형이 다르면 같은 이름에 함수를 사용할 수 있습니다. 이게 함수 오버로딩입니다. 2021. 7. 2.
C++ [구조체 함수 사용] ▣ 먼저 C언어와 동일하게 구조체를 선언해줍니다. typedef는 struch My_Game을 하나에 별칭으로 지정하기 위함이니다. MyGame;으로 지정하면 main함수에서 struch My_Game 이렇게 작성하지 않아도 MyGame mygame 이렇게 선언할 수 있습니다. ▣ 그리고 더하기를 함수를 만들어주시고 main함수에서 mygame.sum = Calculator(mygame.number1, mygame.number2); 로 함수에 우리가 초기값으로 지정한 값을 주고 반환값을 sum에 넣어주고 출력을 하면 값이 잘 나오는걸 확인할 수 있습니다. 2021. 6. 8.
C++ [메모리 할당, new, delete] ▣ 이번장에서는 c++에서 메모리 할당하는 코드를 공부해보겠습니다. c언어에서 malloc()함수와 free() 함수를 모르시는 분은 c언어 코드 예제를 참고해주세요. ▣ 우리가 힙영역에서 메모리를 직접 할당하려면 우선 int *p 포인터를 사용해야 합니다. 포인터는 주소를 저장하는 변수입니다. 그리고 내가 원하는 크기만큼 메모리를 할당하려면 c언어에서는 int *p = malloc(크기)로 할당해서 사용했습니다. 하지만 c++에서는 더 직관적으로 간결하게 new 키워드를 사용하여 할당합니다. int *p = new int; 이렇게 하게 되면 int 크기로 4byte를 할당할 수 있습니다. ▣ 그렇게 하고 cout으로 sizeof() 함수를 이용하여 메모리에 크기와 주소 그리고 값을 출력하면 우리가 할당.. 2021. 5. 23.