인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

Moderich님의 프로필 이미지
Moderich

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

문자와 문자열

문자열 작성시 배열에 할당하는 이유가 궁금해요

작성

·

255

1

문자열을 데이터를 할당할 때 char형 배열을 선언하고 출력하는데 왜 배열을 할당해야 하는지 궁금해요

 

배열에 할당된 문자열은 나중에 배열 인덱스로 접근할 수 있는건가요?

만약에 가능하다고 해도 문자열 자체를 배열 인덱스로 접근해서 사용 할 일은 그렇게 많지 않을 것 같은데 왜 배열에 할당을 하는지 잘 받아들여 지지가 않습니다!

답변 1

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

연습차원이기도 하지만 의미가 살짝 다르기도 합니다.

char* p = "Hello World";

요렇게 할 경우 "Hello World"라는 것은 데이터 영역에 저장되고 
우리는 그 포인터(주소값)을 p에 담아 사용할 뿐입니다.
(따라서 해당 데이터를 수정할 수도 없습니다)

char p[15] = "Hello World"; 

이렇게 할 경우에는 [char 타입의 배열]이 되며
만든 위치에 따라 스택 등의 영역에 실제 데이터를 저장하게 됩니다.
사용할 일이 전혀 없을 것 같지만,
예를 들어 서버랑 통신할 때 데이터를 만들어서 보내야 하는데,
그것도 일종의 char 배열이라 볼 수 있겠죠.

Moderich님의 프로필 이미지
Moderich

작성한 질문수

질문하기