작성
·
255
1
문자열을 데이터를 할당할 때 char형 배열을 선언하고 출력하는데 왜 배열을 할당해야 하는지 궁금해요
배열에 할당된 문자열은 나중에 배열 인덱스로 접근할 수 있는건가요?
만약에 가능하다고 해도 문자열 자체를 배열 인덱스로 접근해서 사용 할 일은 그렇게 많지 않을 것 같은데 왜 배열에 할당을 하는지 잘 받아들여 지지가 않습니다!
답변 1
1
연습차원이기도 하지만 의미가 살짝 다르기도 합니다.
char* p = "Hello World";
요렇게 할 경우 "Hello World"라는 것은 데이터 영역에 저장되고
우리는 그 포인터(주소값)을 p에 담아 사용할 뿐입니다.
(따라서 해당 데이터를 수정할 수도 없습니다)
char p[15] = "Hello World";
이렇게 할 경우에는 [char 타입의 배열]이 되며
만든 위치에 따라 스택 등의 영역에 실제 데이터를 저장하게 됩니다.
사용할 일이 전혀 없을 것 같지만,
예를 들어 서버랑 통신할 때 데이터를 만들어서 보내야 하는데,
그것도 일종의 char 배열이라 볼 수 있겠죠.