C언어/개념

[C] Array(배열) ··· (2)

thpop 2024. 11. 23. 13:43
반응형

지난 개념에서 이어진다.

(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