지난 개념에서 이어진다.
(https://thpop.tistory.com/73 / Array(배열) ··· (1))
- 선언에서 array를 initialize(초기화)하기
array에서 가장 중요한 것은, array는 자동적으로 initialize(초기화)되지 않는다는 것이다.
따라서 아래와 같은 방법으로 array를 초기화해줄 수 있다.
int a[6] = {1, 2, 3, 4, 5, 6};
int a[6] = {1, 2, }; // unassigned elements have zeroes as values
int a[] = {1, 2, 3, 4, 5, 6}; // unspecified size is set to the number of elements
위의 예시에서 나타나는 array의 특성들은 다음과 같다.
- array에서 할당되지 않은 요소들은, 자동적으로 0의 값으로 초기화된다.
- initializer list가 있는 상태에서 array의 size가 선언되지 않았다면, 자동적으로 element의 개수로 정해진다.
- 중괄호({ })를 이용한 초기화는 선언 단계에서만 가능하다.
- 특별 케이스 : char name[20] 코드
C 언어에서 문자열이라는 개념은 존재하지 않고, 'char array'라는 데이터 형태로 정의된다.
- 변수 이름 뒤에 대괄호([ ])를 사용하여 문자열의 길이를 지정한다.
- 문자열의 크기는 실제 문자열 길이보다 커야 한다.
char str[6] = "Hello"
char str[] = "Hello"
char str[] = {'H','e','l','l','o','\0'}
위의 예시와 더불어 알아두면 좋은 것들을 아래와 같다.
- "Hello"는 6의 크기를 갖는 character array이다.
- " "으로 둘러싸인 문자열(string of characters)는 string literal / string constant이다. 즉 수정이 불가능하고, 읽기만 가능하다.
- " "으로 시작하는 initialization도 선언에서만 가능하다.
>> 이러한 이유는 컴퓨터가 "Hello"를 입력받으면, array에 'H', 'e', 'l', 'l', 'o', '\0'으로 전환되어 저장되는 일련의 과정 때문이다.
- "\0"은 null character이라는 명칭의 요소이다. 이것은 문자열의 끝을 알리는 역할을 한다.
따라서 char name[20]은 최대 19개의 알파벳을 가질 수 있다.
다음으로 이어짐.
(https://thpop.tistory.com/75 / Array(배열) ··· (3))
'C언어 > 개념' 카테고리의 다른 글
[C] 최대 / 최소 찾기 (0) | 2024.11.23 |
---|---|
[C] Array(배열) ··· (4) (0) | 2024.11.23 |
[C] Array(배열) ··· (3) (0) | 2024.11.23 |
[C] Array(배열) ··· (1) (0) | 2024.11.23 |
[C] Microsoft Visual Studio를 이용해 c언어 코딩하기 (0) | 2024.07.07 |