배열

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

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

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

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

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

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

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

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

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

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

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

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

배열

데이터를 여러개 담을 수 있는 공간이다.
참조형 변수이다.
참조형 변수의 의미는 변수가 데이터를 저장하는 것이 아니라 데이터가 지정된곳을 가리키는 것이다.
즉 실질적으로 저장하는 공간이 따로 있는 것이다.
c언어에서의 배열 선언은
int arr[10] ---이러한 방식으로 해준다.
하지만 java의 경우
int[] arr=new int[5] ---이러한 방식으로 해준다.
이렇게 되면 int[5] 공간이 생성되고 arr이 이를 가리키게 된다.
이때 새로생긴 공간 int[5]에는 쓰레기값이 아닌 null값으로 초기화 된다.
null의 경우 c언어는 0이라는 값을 갖지만 java는 그냥 텅빈 값이다.
만약 선언과 동시에 초기화를 하기 위해선
int[] arr=new int[]{1,2,3,4,5}
이러한 방식으로 해준다.
c언어보다 java의 배열형이 우수한점은 java의 배열형은 참조형 변수이기 때문에 그냥 사용되는
변수처럼 한 변수가 여러 데이터를 가리켜 사용할 수 있다.

예제

'언어 > java' 카테고리의 다른 글

class  (0) 2018.01.05
class  (0) 2018.01.05
switch,if,while,for  (0) 2018.01.04
입력과 출력  (0) 2018.01.04
자료형  (0) 2018.01.04

+ Recent posts