개발 및 관련 자료/C
[C] 11. 1차원 배열
kid1412
2013. 5. 12. 19:21
728x90
I. 1차원 배열의 선언 및 초기화
1) 1차원 배열의 선언과 접근
배열 선언에 필요한 것 세가지
int array[10];
- 배열 길이 10 인 array라는 이름의 int형 배열 이라는 뜻
- 배열길이, 배열이름, 배열 형태
- 참고로 위에 배열은 메모리에 할당되는 크기는 int형(4바이트)*배열크기(10) = 40바이트이다.
배열의 길이 선언은 오직 상수
int main() { int size =10; int arr[size]; }
- 위와 같은 소스일 경우 arr의 사이즈가 size 변수로 해놓았기 때문에 컴파일시 오류가 납니다.
배열 요소의 접근을 위한 인덱스의 이해
- 배열의 첫번째 요소의 인덱스는 0이다. 즉, arr[0]이 처음이다.
2) 배열! 선언과 동시에 초기화하기기
int arr1[5] = {1,2,3,4,5}; int arr2[] = {1,2,3,4,5}; int arr3[5] = {1,2};
- 첫번째 줄의 arr1은 배열을 1,2,3,4,5로 초기화 시킨거고(단, 크기가 5라고 정해졌다.)
- 두번째 줄의 arr2는 배열 크기는 없지만 초기화를 해줌으로써 크기가 정해진다.
- 세번째 줄의 arr3는 배열 크기가 5이지만 초기화를 1,2만 해주면 나머지는 0으로 초기화 된다.
II. 배열을 이용한 문자열 변수의 표현
문자열 상수와 문자열 변수
문자열 상수
- 첫째로 이름이 없다.
- 문자열의 내용 변경이 불가능 하다.
문자열 변수
- 문자열을 변수로 선언하는데 있어서 사용 되는 것이 배열
문자열 변수의 특징과 널 문자에 대한 이해
배열을 이용한 문자열 변수의 생성
- 문자열 변수를 생성할 때는 배열의 크기는 하나 크기 잡아야 한다.
이유 : 마지막에 이 문자열이 끝났다는 널문자를 넣어주어야 하기 때문에
- 문자열 변수를 생성할 때는 배열의 크기는 하나 크기 잡아야 한다.
널 문자에 대한 이해
- 만약 크기가 100인 char형 배열이 있는데 문자열을 저장할 때 너가 25자 정도만 되는 문장 또는 글자를 넣는다고 하자. 그리고 나서 출력 하면 어느정도는 잘나오지만 25자를 쓴 글자 뒤로 쓰레기 값이 엄청나게 나올 것이다.
- 그래서 25자를 쓴다음 끝에 \0 을 넣으면 \0(NULL)문자까지만 읽고 끝나 버린다.