• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

배열 질문있습니다!

19.01.28 22:17 작성 조회수 77

0

물고기 키우기 프로젝트에서

int arrayFish[6]; 이라고 전역변수로 배열을 선언해주셨는데요, 배열파트 강의에서

char str[6] = "coding"; 이라고 선언했을때 출력값이 codingㅁㅁㅁㅁ이런식으로 나오는걸 보고

문자열 마지막에는 끝을 알려주는 NULL 값이 들어가야해서 그 NULL값이 들어갈 자리를 만들어주기 위해 char str[7] = "coding"이라고 작성하면 정상 출력되는걸 배웠습니다.

int형으로 배열을 선언해줬을때는 그런게 필요없나요?

int arrayFish[6];이고 어항이 6개니까 1~6까지 모든 자리를 차지해서 NULL값이 들어갈 자리가 없는게아닌가요?

답변 1

답변을 작성해보세요.

0

안녕하세요 나도코딩입니다.

NULL 문자가 필요한 경우는 char 배열을 \"문자열\"로

출력하기 위할 때입니다. 6 크기의 char 배열에 a,b,c,d,e,f 를 각각 넣고 %c 로 한자씩 출력하면 문제가 없지요. 다만 %s 로 문자열로 출력할때, abcdef 를 한번에 출력하고자 할 때는 \"문자열\"이므로, 이 문자열의 \"끝\"을 명시하기 위해 필요합니다. 재밌는 예제가 포함된 링크 드리니 한번 방문해 보세요 ^^

요약

  1. char 배열에 입력된 값을 문자열로 출력하기 위해 NULL 필요
  2. int 배열은 불필요

참고 링크 : https://m.blog.naver.com/PostView.nhn?blogId=jsky10503&logNo=221131412375&proxyReferer=https%3A%2F%2Fwww.google.com%2F