본문 바로가기

[기초] C언어

배열

1. 배열

- 어떤 한가지 자료형을 연속적으로 나열하는 것

EX) 머그잔 한개를 상자에 저장한 것은 자료 한개를 저장한 변수에 해당, 칸으로 구분한 상자에 머그잔 다섯 개를 한꺼번에 저장하는 것은 여러 자료를 저장한 배열에 해당

 

2. 자료형 변수이름[개수]

배열선언 ---> int quiz[5] = {8,9,10,8,7};

배열원소참조 --> quiz[0]      quiz[1]        quiz[2]      quiz[3]    quiz[4]

배열의 구조와 저장된 값

                quiz[0]                             quiz[1]                             quiz[2]                                quiz[3]                             quiz[4]

8 9 10 8 7

 

3. 배열의 사용방법

- 변수이름[색인] = 값;

- 입력을 받을 경우도 일반 변수와 동일

EX) scanf("%d",&a[0]);

 

4. 쓰게기 값이 나오는 이유

입력창
출력창

- C언어에서는 지역변수(추후 함수에서 다시 다룸)를 선언할 때 그 변수에 초기값을 명시적으로 지정하지 않으면 해당 변수는 쓰레기 값으로 채워지게 된다. 이 쓰레기 값은 변수가 선언된 메모리 영역에 이전에 사용되었던 데이터의 잔해가 남아있거나, 해당 메모리 영역이 이전에 할당된 적이 없어서 사용되지 않은 값들로 채워지게 된다. 따라서 초기화가 필수이다.

 

5. 자동초기화

EX) int arr[1000] = {0};

- 모든 요소 쉽게 0으로 초기화

- 배열의 초기화는 선언 시 최소 한번만 가능, 그 이후에는 배열 요소에 일일이 값을 대입해야한다.

- 초기화 때 처럼 중괄호 {}를 이용한 대입 연산으로 한번에 값을 바꾸는 것은 불가능하다.

 

6. 배열은 사용자 정의 자료형이다.

- 배열은 같은 크기의 메모리를 그룹으로 묶어 새로운 크기의 변수를 만들기 때문에 사용자 정의 자료형(User-definde Data Type)이다.

EX) char three[3]; ---> tree는 3바이트 크기의 변수 / three의 자료형이 char[3]이 된다.

 

7. 문자열의 길이 정보 표시하기

- C언어에서 문자를 저장하는데 가장 적합한 자료형이 char형

- char형 변수를 그룹으로 묶어서 관리하는 char배열을 사용하여 문자열을 저장

- 문자의 끝에 NULL(널) 문자 0을 추가로 입력해서 ' 이 배열에 저장된 정보는 문자열이다." 라고 컴파일러에게 알림

EX) char data[6] = {'h','a','p','p','y',0}; 

---> C언어의 문자열형 상수 표현을 사용하여 간단하게 배열 초기화 가능

- char data[6] = "happy"; ( 문자열의 끝에 NULL이 자동으로 포함됨 )

 

8. 지정된 문자열의 길이 구하기

- 배열에 저장된 문자열의 길이(문자의 개수)를 알기 위해서는 문자열의 끝(0,EOL,End Of Line)을 찾는 코드가 필요

입력창
출력창

9. 지정된 문자열의 길이 구하기

- 배열에 저장된 문자열의 길이를 구하는 GetStringLength함수 만들기

입력창
출력창

 

[ 문자형 배열 ]

- char형 변수 : 문자 상수 즉, 한 개의 문자만 저장 가능

- 문자열은 char형 1차원 배열이 필요

 

[ 문자열 선언 시 주의점 ]

- 마지막을 표현하는 \o로 인해 1개를 더 포함

(1) char c[6]; ---> 널 문자를 제외 한 최대 5개의 문자 저장

(2) char c[6] = {'S','e','o','u','l'}; ---> 선언과 동시에 초기화할때 char형으로 { } 안에 문자 상수 명시

(3) char c[6] = "Seoul"; ---> 문자열 초기화 시 문자열 상수 그대로 표현 가능

 

[ 문자열 입력 받은 경우 ]

scanf("%s", char형 1차원 배열명); ---> 공백 문자 입력 전까지를 문자열로 저장

printf("%s", char형 1차원 배열명); ---> 배열에 저장된 문자열을 출력

 

'[기초] C언어' 카테고리의 다른 글

함수  (0) 2024.05.27
2차원 배열  (0) 2024.05.27
반복문  (0) 2024.05.24
조건문  (2) 2024.05.24
연산자  (0) 2024.05.24