728x90
반응형
문자열 포인터의 개념과 활용방법을 같이 학습해 봅시다.

문자열 포인터 종류
- string str1 = "codingon";
- C++ 표준 라이브러리의 std::string 클래스
- 다양한 메서드(.length(), .substr(), .append() 등)를 통해 문자열 조작이 편리
- char str2[] = "codingon";
- char 배열에 null-terminated 문자열('\0')로 저장
- 메모리에 할당된 배열의 크기는 고정적이며, 문자열의 내용을 변경할 수는 있지만 크기를 조정할 수 없음
- char str3[] = {'c', 'o', 'd', 'i', 'n', 'g', 'o', 'n'};
- 문장 배열일 뿐 문자열로 간주되지 않음
- 인덱싱 가능
- char* str4 = "helloworld";
- 문자열 리터럴*에 대한 포인터(char*)
- 읽기 전용 메모리 영역
*리터럴 : 데이터 값 그자체를 말하는 용어 여기서는 "helloworld"가 리털럴이다.
char 형 포인터
포인터로 문자열을 관리하기 위해 사용(주소 기반 접근)
#include <iostream>
using namespace std;
int main() {
char str[] = "codingon";
//포인터로 배열 접근
char* ptr = str;
cout << "첫 번째 문자: " << *ptr << endl;
cout << "세 번째 문자: " << *(ptr + 2) << endl;
//수정 가능
ptr[0] = 'H';
cout << "수정된 문자열: " << str << endl;
return 0;
}
이코드의 결과는 다음과 같이 나온다.
- 첫 번째 문자 : c
- 세 번쟤 문자 : d
- 수정된 문자열 : Hodingon
*ptr 이라는 포인터는 주소값을 저장 하기에 위 처럼 +2를 할경우 주소값에서 2를 더한 값의 인덱싱을 찾아 출력이 가능한 것이다. 포인터 없이 +2를 할경우 자료형 오류가 발생한다.
실습. 포인터 사용해보기
- std::cin, getline을 사용하지 않고 사용자 정의 함수를 직접 만들고, 문자열을 입력 받고 출력하는 코드를 작성하시오.
- cin.get() 함수 사용
- * 정답 예시 코드는 하루 코딩에서
결과 값
포인터는 개념이 어려워 보일 수 있지만, 사용하시다 보면 왜 사용하는지 알게되실 것입니다.
오늘도 같이 공부하시느라 수고 많으셨습니다!!!!!!

반응형
'C++ IDE를 위한 과정' 카테고리의 다른 글
C++ call by 기능 (0) | 2025.02.24 |
---|---|
C++ 포인터 AND 동적배열 (0) | 2025.02.24 |
C++ namspace (0) | 2025.02.21 |
C++ 구조체 VS 클래스, getter setter, 상속 (0) | 2025.02.12 |
C++ 클래스 & this pointer (0) | 2025.02.11 |