언어/c

배열

leo_____lee 2018. 2. 1. 21:43

배열

배열요소의 초기화는 선언문에서만 가능하다.

ex)
int a[10]={0};

문자열을 저장할 때에는 크기를 문자열 길이 +1 만큼 으로 저장

ex)
char a[6]={"apple"};

헷갈리는 문자열 - 어디까지 과연 저장될까??

위를 보면 6개짜리 배열은 거진 9자리까지 공백을 채우고

5개짜리 배열은 거진 8자리까지 공백을 채운다.

헷갈리는 문자열 - 어디까지 과연 저장될까??(2)

포인터를 통하여 상수를 가리키게 할시 딱 문자열+'\0' 만 저장됨을 알 수 있다.

헷갈리는 문자열 - *로 배열선언과 []로 배열선언

포인터로 배열선언시 상수에 배열을 할당후 가리키기에 수정이 불가능하다.

하지만 [] 를 통하여 배열을 선언시 텍스트영역이 아닌 데이터 영역에 저장이 되기에 수정이 됨을 확인 할 수있다.