목차
1. FirstStep.cpp
1) 실행코드
2) 실행결과 화면
3) 해설
2. 10개의 값이 저장된 배열에서 최댓값 구하기
1) 실행코드
2) 실행결과 화면
3) 해설
3. 포인터 예제
1) 실행코드
2) 실행결과 화면
3) 해설
4. 동적 메모리 할당 예제
1) 실행코드
2) 실행결과 화면
3) 해설
5. 참조 활용 예제
1) 실행코드
2) 실행결과 화면
3) 해설
6. 참고문헌
1) 실행코드
2) 실행결과 화면
3) 해설
2. 10개의 값이 저장된 배열에서 최댓값 구하기
1) 실행코드
2) 실행결과 화면
3) 해설
3. 포인터 예제
1) 실행코드
2) 실행결과 화면
3) 해설
4. 동적 메모리 할당 예제
1) 실행코드
2) 실행결과 화면
3) 해설
5. 참조 활용 예제
1) 실행코드
2) 실행결과 화면
3) 해설
6. 참고문헌
본문내용
데이터 출력
if (max < data[i]) // (ㅁ) i번 데이터가 max보다 크면 비교
max = data[i]; // (ㅂ) max를 i번 데이터로 바꿈
}
cout << endl << endl;
cout << \"배열의 최댓값 : \" << max << endl;
return 0;
}
2) 실행결과 화면
3) 해설
(ㄱ) 배열의 첫 번째 요소를 max로 설정한다.
(ㄴ) 배열의 첫 번째 요소를 출력한다.
(ㄷ) 두 번째 요소부터 끝까지 반복하며 최댓값을 찾기 위한 비교를 시작한다.
(ㄹ) 현재 반복 중인 배열 요소를 출력한다.
(ㅁ) 현재 max와 비교하여 더 큰 값이 있으면 max 값을 해당 요소로 바꾼다.
(ㅂ) max 값을 갱신한다.
3. 포인터 예제
1) 실행코드
#include
using namespace std;
int main()
{
int a = 10, b = 100;
int *ptr = &a; // (ㄱ) 포인터 ptr을 선언한 후 a의 주소를 넣는다.
cout << \"ptr이 가리키는 곳의 값 : \" << *ptr << endl; // (ㄴ) ptr이 가리키는 값을 출력
*ptr = 20; // (ㄷ) ptr이 가리키는 곳에 20을 저장
cout << \"변수 a의 값 : \" << a << endl;
ptr = &b; // (ㄹ) ptr이 b를 가리키게 함
cout << \"변수 b의 값 : \" << *ptr << endl;
return 0;
}
2) 실행결과 화면
3) 해설
(ㄱ) ptr은 int형 포인터로 선언되며, 변수 a의 주소를 가리킨다.
(ㄴ) 포인터 ptr이 가리키는 값(즉, a의 값)을 출력한다.
(ㄷ) ptr이 가리키는 주소의 값을 20으로 바꾼다. 이때 a의 값이 20으로 변경된다.
(ㄹ) 포인터 ptr이 변수 b의 주소를 가리키도록 변경한다. 이후 ptr을 통해 b의 값을 출력한다.
4. 동적 메모리 할당 예제
1) 실행코드
#include
using namespace std;
int main()
{
int *intPtr;
intPtr = new int[4]; // (ㄱ) 4개의 int 값을 저장할 메모리 할당
*intPtr = 10;
*(intPtr + 1) = 20;
intPtr[2] = 30;
intPtr[3] = 40;
for (int *p = intPtr, i = 0; i < 4; i++)
cout << *(p++) << \" \"; // (ㄴ) p가 가리키는 곳의 값을 출력한 후 p를 다음으로 이동
cout << endl;
delete[] intPtr; // (ㄷ) (ㄱ)에서 할당한 메모리 반환
return 0;
}
2) 실행결과 화면
3) 해설
(ㄱ) new 키워드를 사용하여 동적으로 4개의 int 크기를 가진 메모리를 할당한다.
(ㄴ) 포인터 p가 가리키는 위치의 값을 출력하고, 그 다음 위치로 이동시킨다.
(ㄷ) 동적으로 할당한 메모리를 delete[]를 사용하여 반환한다. 동적 메모리를 사용하면 항상 메모리 누수를 방지하기 위해 해제를 해주어야 한다.
5. 참조 활용 예제
1) 실행코드
#include
using namespace std;
int main()
{
int a = 10, b = 20;
int &aRef = a; // (ㄱ) a를 참조하는 참조 변수 aRef를 선언
cout << \"a의 값 : \" << a << endl;
cout << \"aRef가 참조하는 값 : \" << aRef << endl << endl;
aRef = 100; // aRef를 통해 a의 값을 100으로 변경
cout << \"a의 값 : \" << a << endl;
aRef = b; // aRef를 b와 연결하여 a를 b의 값으로 변경
cout << \"a의 값 : \" << a << endl;
return 0;
}
2) 실행결과 화면
3) 해설
(ㄱ) int &aRef = a;는 참조 변수 aRef가 변수 a를 참조하도록 설정한다. 이는 포인터와 달리 &를 사용하지만, 참조 변수는 포인터처럼 주소를 저장하는 것이 아니라, 변수 자체에 대한 별칭을 제공한다.
참조 변수 aRef를 통해 a의 값을 변경할 수 있다. 코드에서 aRef = 100;과 같은 방식으로 a의 값을 간접적으로 수정할 수 있다. 마지막 줄에서 aRef가 b를 참조하게 되면서, a의 값이 b의 값으로 변경된다.
6. 참고문헌
전중남, 이병래(2019), C++프로그래밍, 방송통신대학교 출판문화원.
if (max < data[i]) // (ㅁ) i번 데이터가 max보다 크면 비교
max = data[i]; // (ㅂ) max를 i번 데이터로 바꿈
}
cout << endl << endl;
cout << \"배열의 최댓값 : \" << max << endl;
return 0;
}
2) 실행결과 화면
3) 해설
(ㄱ) 배열의 첫 번째 요소를 max로 설정한다.
(ㄴ) 배열의 첫 번째 요소를 출력한다.
(ㄷ) 두 번째 요소부터 끝까지 반복하며 최댓값을 찾기 위한 비교를 시작한다.
(ㄹ) 현재 반복 중인 배열 요소를 출력한다.
(ㅁ) 현재 max와 비교하여 더 큰 값이 있으면 max 값을 해당 요소로 바꾼다.
(ㅂ) max 값을 갱신한다.
3. 포인터 예제
1) 실행코드
#include
using namespace std;
int main()
{
int a = 10, b = 100;
int *ptr = &a; // (ㄱ) 포인터 ptr을 선언한 후 a의 주소를 넣는다.
cout << \"ptr이 가리키는 곳의 값 : \" << *ptr << endl; // (ㄴ) ptr이 가리키는 값을 출력
*ptr = 20; // (ㄷ) ptr이 가리키는 곳에 20을 저장
cout << \"변수 a의 값 : \" << a << endl;
ptr = &b; // (ㄹ) ptr이 b를 가리키게 함
cout << \"변수 b의 값 : \" << *ptr << endl;
return 0;
}
2) 실행결과 화면
3) 해설
(ㄱ) ptr은 int형 포인터로 선언되며, 변수 a의 주소를 가리킨다.
(ㄴ) 포인터 ptr이 가리키는 값(즉, a의 값)을 출력한다.
(ㄷ) ptr이 가리키는 주소의 값을 20으로 바꾼다. 이때 a의 값이 20으로 변경된다.
(ㄹ) 포인터 ptr이 변수 b의 주소를 가리키도록 변경한다. 이후 ptr을 통해 b의 값을 출력한다.
4. 동적 메모리 할당 예제
1) 실행코드
#include
using namespace std;
int main()
{
int *intPtr;
intPtr = new int[4]; // (ㄱ) 4개의 int 값을 저장할 메모리 할당
*intPtr = 10;
*(intPtr + 1) = 20;
intPtr[2] = 30;
intPtr[3] = 40;
for (int *p = intPtr, i = 0; i < 4; i++)
cout << *(p++) << \" \"; // (ㄴ) p가 가리키는 곳의 값을 출력한 후 p를 다음으로 이동
cout << endl;
delete[] intPtr; // (ㄷ) (ㄱ)에서 할당한 메모리 반환
return 0;
}
2) 실행결과 화면
3) 해설
(ㄱ) new 키워드를 사용하여 동적으로 4개의 int 크기를 가진 메모리를 할당한다.
(ㄴ) 포인터 p가 가리키는 위치의 값을 출력하고, 그 다음 위치로 이동시킨다.
(ㄷ) 동적으로 할당한 메모리를 delete[]를 사용하여 반환한다. 동적 메모리를 사용하면 항상 메모리 누수를 방지하기 위해 해제를 해주어야 한다.
5. 참조 활용 예제
1) 실행코드
#include
using namespace std;
int main()
{
int a = 10, b = 20;
int &aRef = a; // (ㄱ) a를 참조하는 참조 변수 aRef를 선언
cout << \"a의 값 : \" << a << endl;
cout << \"aRef가 참조하는 값 : \" << aRef << endl << endl;
aRef = 100; // aRef를 통해 a의 값을 100으로 변경
cout << \"a의 값 : \" << a << endl;
aRef = b; // aRef를 b와 연결하여 a를 b의 값으로 변경
cout << \"a의 값 : \" << a << endl;
return 0;
}
2) 실행결과 화면
3) 해설
(ㄱ) int &aRef = a;는 참조 변수 aRef가 변수 a를 참조하도록 설정한다. 이는 포인터와 달리 &를 사용하지만, 참조 변수는 포인터처럼 주소를 저장하는 것이 아니라, 변수 자체에 대한 별칭을 제공한다.
참조 변수 aRef를 통해 a의 값을 변경할 수 있다. 코드에서 aRef = 100;과 같은 방식으로 a의 값을 간접적으로 수정할 수 있다. 마지막 줄에서 aRef가 b를 참조하게 되면서, a의 값이 b의 값으로 변경된다.
6. 참고문헌
전중남, 이병래(2019), C++프로그래밍, 방송통신대학교 출판문화원.
추천자료
Mobile IP를 이용한 VOD Model 구현
[자바][JAVA][프로그래밍언어]자바(JAVA)와 컴퓨터시스템, 자바(JAVA)의 개념, 자바(JAVA)의 ...
프로그래밍언어론 - 프로그램 구조 및 예제 프로그램
2022년 2학기 방송통신대 베이즈데이터분석 기말과제물)밀도함수를 따르는 랜덤 숫자를 합격-...
A+ 레포트 [인간행동과 사회환경] 메슬로우와 로저스의 인본주의 이론을 요약정리하고 인본주...
2024년 2학기 사회복지와문화다양성 중간과제물) 결혼이주여성 관련 TV 프로그램 내용을 요약...
사회복지와문화다양성 2024년 2학기 중간과제물- 결혼이주여성 관련 TV 프로그램 내용을 요약...
(2024년 2학기 사회복지조사론 방송통신대 중간과제물] 우리사회에는 다양한 차별이 존재하고...
(평생교육경영론 2024년 2학기 방송통신대 중간과제물) 코트니는 일반행정과 구분되는 평생교...
소개글