[열혈 C++] 문제 02-4 문제1 풀이
Study Code/[Basic] C++2024. 5. 2. 00:04[열혈 C++] 문제 02-4 문제1 풀이

다음 표준함수를 호출하는 예제를 만들되, C++의 헤더를 선언해서 만들어보자. 그리고 예제의 내용은 상관이 없지만, 아래의 함수들을 최소 1회 이상 호출해야 한다. 참고로 다음 함수들은 C언어의 경우 에 선언되어 있다. - strlen : 문자열의 길이 계산 - strcat : 문자열의 뒤에 덧붙이기 - strcpy : 문자열 복사 - strcmp : 문자열의 비교  [풀이]#include #include int main(){ const char* str1 = "Hi"; const char* str2 = "hi"; char str3[1000]; std::cout

[열혈 C++] 문제 02-3 풀이
Study Code/[Basic] C++2024. 5. 2. 00:00[열혈 C++] 문제 02-3 풀이

구조체에 대한 복습을 겸할 수 있는 문제를 제시하겠다. 2차원 평면상에서의 좌표를 표현할 수 있는 구조체를 다음과 같이 정의하였다.typedef struct __Point{int xpos;int ypos;} Point;위의 구조체를 기반으로 두 점의 합을 계산하는 함수를 다음의 형태로 정의하고(덧셈결과는 함수의 반환을 통해서 얻게 한다.)Point& PntAdder(const Point &p1, const Point &p2);임의의 두 점을 선언하여, 위 함수를 이용한 덧셈연산을 진행하는 main 함수를 정의해보자.단, 구조에 Point 관련 변수의 선언은 무조건 new 연산자를 이용해서 진행해야 하며, 할당된 메모리 공간의 소멸도 철저해야한다.참고로 이 문제의 해결을 위해서는 다음 두 질문에 답을 할 ..

[열혈 C++] 문제 02-2 풀이
Study Code/[Basic] C++2024. 5. 1. 23:02[열혈 C++] 문제 02-2 풀이

const 포인터에 대한 복습을 겸할 수 있는 문제를 제시하겠다.다음의 상수선언을 보자.const int num=12;포인터 변수를 선언해서 위 변수를 가리키게 해보자. 그리고 이 포인터 변수를 참조하는 참조자를 하나 선언하자.마지막으로 이렇게 선언된 포인터 변수와 참조자를 이용해서 num에 저장된 값을 출력하는 예제를 완성해보자.   [풀이]#include int main(){ const int num = 12; //포인터 변수를 선언해서 위 변수를 가리키게 해보자. const int *ptr = # //이 포인터 변수를 참조하는 참조자를 하나 선언하자. const int *(&ref) = ptr; //이렇게 선언된 포인터 변수와 참조자를 이용해서 num에 저장된 값을 출력 std::cout

[열혈 C++] 문제 02-1 문제3 풀이
Study Code/[Basic] C++2024. 5. 1. 21:33[열혈 C++] 문제 02-1 문제3 풀이

int main(void){ int num1 = 5; int *ptr1 = &num1; int num2 = 10; int *ptr2 = &num2;} 위 코드를 보면 ptr1과 ptr2가 각각 num1과 num2를 가리키고 있다. 이 때 ptr1과 ptr2를 대상으로 다음과 같이 함수를 호출하고 나면, SwapPointer(ptr1, ptr2); ptr1과 ptr2가 가리키는 대상이 서로 바뀌도록 SwapPointer 함수를 정의해보자.  [풀이]#include using namespace std;// SwapPointer 함수void SwapPointer(int *(&ptr1), int *(&ptr2)){ int* tmp = ptr1; ptr1 = ptr2; ptr2 = tmp;}int main(voi..

[열혈 C++] 문제 02-1 문제2 풀이
Study Code/[Basic] C++2024. 5. 1. 21:27[열혈 C++] 문제 02-1 문제2 풀이

앞서 소개한 예제 RefSwap.cpp의 SwapByRef2 함수를 다음의 형태로 호출하면 컴파일 에러가 발생한다. SwapByRef(23, 45); 컴파일 에러가 발생하는 이유가 무엇인지 설명해보자.// RefSwap.cpp#include using namespace std;void SwapByRef2(int& ref1, int& ref2){ int temp = ref1; ref1 = ref2; ref2 = temp;}int main(void){ int val1 = 10; int val2 = 20; SwapByRef2(val1, val2); cout   [풀이]참조자는 상수를 참조할 수 없으므로 반드시 변수를 통해 값을 받아야한다.

728x90
반응형
image