2022. 5. 17. 22:45ㆍC
배열
배열은 변수를 일일히 선언하는 대신 관련 있는 값들을 한 변수에 모두 저장하기 위해 사용합니다.
배열을 선언하기 위해서는 자료형과 배열 이름, 그리고 대괄호 [ ] 를 사용합니다.
대괄호 안은 비워놓거나 배열의 크기 (자연수)를 입력합니다.
배열을 초기화하기 위해서는 중괄호 { } 를 이용해 안에 값을 입력하면 됩니다.
int array1[크기]; #배열을 선언하는 방법 (중괄호로 초기화를 하지 않을 때는 꼭 크기를 지정해야함)
int array2[] = {1, 2, 3, 4, 5}; #중괄호로 초기화하는 배열을 선언하는 방법
배열을 초기화 하지 않을 때 배열의 크기를 정하지 않으면 프로그램은 배열을 얼마 만큼의 크기로 만들어야하는지 알 수 없어 정상적으로 실행 되지 않음에 주의하세요!
배열의 값에 접근
배열의 값에 접근하기 위해서는 인덱스 (index)를 사용하면 됩니다.
배열의 인덱스는 1이 아니라 0부터 시작함에 유의하세요.
[0] 은 배열의 첫 번째 값, [1] 은 배열의 두 번째 값의 인덱스를 의미합니다.
배열의 첫번째 값을 출력하는 코드는 다음과 같습니다.
int array1[] = {1, 2, 3, 4, 5};
printf("%d", array1[0]);
실행결과
1
배열의 값을 변경
배열의 특정 값을 변경하기 위해서는 인덱스 값을 사용합니다.
array1[0] = 5;
위 코드는 array1 이라는 배열의 0번째 인덱스의 값을 5로 바꿉니다.
다음은 배열 값 변경 예시 코드입니다.
int array1[] = {1, 2, 3, 4, 5};
printf("%d\n", array1[0]);
array1[0] = 5;
printf("%d\n", array1[0]);
실행결과
1
5
배열에서 반복문 실행하기
for 반복문을 사용해서 배열의 모든 값을 확인할 수 있습니다.
다음 코드는 array1 배열의 모든 값을 출력합니다.
int array1[] = {1, 2, 3, 4, 5}; for (int i = 0; i < 4; i++) { printf("%d ", array1[i]); }
실행결과
1 2 3 4 5
배열의 크기
sizeof() 함수로 배열의 크기를 알아낼 수 있습니다.
int array1[] = {1, 2, 3, 4, 5};
printf("%d", sizeof(array1));
5
문자열
문자열은 말 그대로 문자들을 늘어놓은 것입니다. 지금 이 블로그도 일종의 문자열이죠.
다른 프로그래밍 언어들과는 다르게, C는 string 이라는 자료형이 없어 문자열을 쉽게 쓸 수 없습니다.
그래서 C에서는 말 그대로 문자의 배열로 문자열을 사용합니다.
이 번거로운 문제점은 C++에서 수정되었습니다.
문자열은 다음과 같이 선언합니다.
char str[] = "Hello, World!";
또한 문자열은 다음과 같이 출력합니다.
printf("%s", str);
문자열은 문자의 배열이기 때문에 똑같이 인덱스로 접근할 수 있으며, 다음과 같이 선언할 수도 있습니다.
char str[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};
맨 마지막의 '\0'은 뭘까요?
\0 은 NULL 문자로, C에게 문자열의 끝을 알려줍니다.
큰 따옴표 " "로 문자열을 선언하는 경우엔 적지 않아도 C가 알아서 해줍니다.
다음 강의에서는 메모리 구조에 대해 배우겠습니다.