티스토리 뷰
문자열 복사
배열 복사
배열은 반복문을 사용하여 복사할 수 있음
#include <iostream>
using namespace std;
int main() {
int arr[5] = { 1,2,3,4,5 };
int arr_b[5];
//arr_b = arr; 이렇게 한 번에 요소를 옮길 수는 없음. 하나하나 한칸씩 옮겨야 함.
/*
arr_b[0] = arr[0];
arr_b[1] = arr[1];
arr_b[2] = arr[2];
arr_b[3] = arr[3];
arr_b[4] = arr[4];
*/
for (int i = 0; i < 5; i++) {
arr_b[i] = arr[i];
}
for (int i = 0; i < 5; i++) {
cout << arr_b[i] << " ";
}
return 0;
}
출력 결과
문자
문자 : 문자 하나(알파벳 기준, 한글X -> 예: a, A, _, 1(숫자) 등)
문자열 : 문자들의 조합(예: apple)
- 문자는 char형 변수에 저장함
- char 자료형 + 배열의 조합으로 문자열 저장
"Hello!"
6개 문자 + NULL(문장의 끝을 의미)(\0) = 7개 문자 필요
- 최소한 하나만 크게 선언하면 됨
- 남은 배열 요소에는 저절로 NULL로 채워짐
- NULL : 문자열의 끝을 표시
코드 예시 1
#include <iostream>
using namespace std;
int main() {
char s1[7] = { 'H', 'e', 'l', 'l', 'o', '!', '\0' };
for (int i = 0; i < 7; i++)
cout << s1[i] << endl;
s1[4] = 'w';
for (int i = 0; i < 7; i++)
cout << s1[i];
return 0;
}
출력 결과
코드 예시 2
#include <iostream>
using namespace std;
int main() {
char s1[20] = "Hello!Yoojin"; // 13칸
for (int i = 0; i < 20; i++) {
cout << s1[i];
}
return 0;
}
출력 결과
n까지 출력한 후 자동으로 넣어준 NULL을 만나면
문자열의 끝으로 인식한 후 20까지 돌지 않아도 끝나게 됨.
코드 예시 3
#include <iostream>
using namespace std;
int main() {
char s1[] = "Hello! Yoojin Hi! Minho"; // 빈칸도 하나의 문자로 인식함
for (int i = 0; i < 30; i++) {
if (s1[i] == '\0')
break; // Null(문장의 끝)일때 for문 빠져나옴
cout << s1[i]; // Null이 아니라면 출력
}
return 0;
}
출력 결과
실습 문제 1
문자열을 입력받고 해당 문자를 거꾸로 출력하세요.
#include <iostream>
using namespace std;
int main() {
char s1[80], s2[80];
int count = 0;
cout << "단어를 입력해주세요 : ";
cin >> s1;
cout << "입력하신 단어는 아래와 같습니다" << endl;
for (int i = 0; i < 80; i++) {
if (s1[i] == '\0')
break;
cout << s1[i];
count++; // 글자가 몇 칸인지
}
cout << endl << "입력하신 단어를 거꾸로 출력하겠습니다" << endl;
for (int i = count; i >= 0; i--) {
/*
s2[0] = s1[4];
s2[1] = s1[3];
s2[2] = s1[2];
s2[3] = s1[1];
s2[4] = s1[0];
*/
s2[count - i] = s1[i - 1];
// 만약 5칸 --> count = 5, i = 5
// s2[0] = s1[4]
// count = 5, i = 4
// s2[1] = s1[3]
// i = 5,4,3,2,1
}
for (int i = 0; i < count; i++) {
cout << s2[i];
}
return 0;
}
출력 결과
'C++' 카테고리의 다른 글
포인터의 의미와 사용 이유 (3) | 2024.12.06 |
---|---|
배열 실습 문제 모음 (1) | 2024.12.06 |
배열의 선언과 접근 및 반복문 (0) | 2024.12.05 |
함수의 선언 및 호출 (0) | 2024.12.05 |
반복문(while, do while) (0) | 2024.12.05 |