• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

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

22.01.15 21:28 작성 조회수 189

1

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

 

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

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

답변 1

답변을 작성해보세요.

1

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

char* p = "Hello World";

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

char p[15] = "Hello World"; 

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