티스토리 뷰
1. 배열의 선언과 사용
- 동일한 자료형을 저장할 저장공간이 많이 필요한 경우 일일이 변수를 선언하는것을 비효율적이다. 이때 배열을 사용하여 대체할수 있다.
배열을 사용하기 위해서는 선언을 먼저 해야한다. 배열의 선언은 간단하다. 요소의 자료형에 이름을 붙이고 필요한 요소 수를 표시한다.
int ary[5];
int = 요소 형태
ary = 배열명
[5] = 요소 개수
#include<stdio.h>
int main(void)
{
int ary[5];
ary[0] = 10;
ary[1] = 20;
ary[2] = ary[0] + ary[1];
scanf("%d", &ary[3]);
printf("%d\n", ary[2]);
printf("%d\n", ary[3]);
printf("%d\n", ary[4]);
return 0;
}
ary(20byte)
int형 변수의 크기가 4바이트이므로 5개를 연속으로 할당하면 총 20바이트를 할당된다. 배열의 나누어진 조각을 배열 요소라 하는데, 각각의 배열 요소는 int형 변수와 똑같이 쓰인다. 배열 요소는 배열명에 첨자(index)를 붙여 표현하며 첨자는 0부터 시작한다.
ary[0], ary[1], ary[2], ary[3], ary[4]
배열을 선언할 때와 배열 요소를 사용할때 대괄호 안의 숫자는 의미가 다른다. 선언할 때는 배열 요소의 전체 개수를 표시하며, 사용할 때는 각 요소가 ㅁ배열에서 몇 번째에 있는지 의미한다. 이값이 첨자며 첨자를 사용할 때는 다음 내용을 반드시 지켜야한다.
배열의 첨자는 0부터 시작하므로 최대 '배열 요소 수 -1'까지 사용가능하다.
-> 배열의 ary 크기가 5일때 ary[5]를 사용하면? compile error
배열의 요소를 사용할때 첨자의 사용 범위를 벗어나면 그 결과를 예측할 수 없다. 배열에 할당된 영역을 벗어난 메모리를 사용하므로 침범함 영역이 어떤 용도에 사용되느냐에 따라 결과가 달라진다.
2. 배열의 초기화
- 변수와 마찬가지로 배열도 최초 할당된 저장공간에는 쓰레기값이 있다. 배열이 선언과 동시에 원하는 값을 갖도록 하려면 초기화를 해야 한다.
배열은 중괄호로 묶어서 초기화한다.
단, 반드시 선언과 동시에 초기화해야하며, 선언하고 난 후에 값을 저장하려면 배열 요소에 하나씩 값을 대입해야한다.
int main(void)
{
int ary1[5] = { 1,2,3,4,5 };
int ary2[5] = { 1,2,3 };
int ary3[] = { 1,2,3 };
double ary4[5] = { 1.0, 2.0, 3.0, 4.0, 5.4 };
char ary5[5] = { 'a','b','c','d','e' };
ary1[0] = 10;
ary1[1] = 20;
ary1[2] = 30;
ary1[3] = 40;
ary1[4] = 50;
return 0;
}
'C' 카테고리의 다른 글
[C언어] 열거형 enum (0) | 2018.08.24 |
---|---|
[C언어] 구조체와 공용체 (struct, union) (0) | 2018.08.24 |
C언어 산술, 관계, 논리연산자 (0) | 2018.07.22 |
C언어 포인터의 크기와 데이터 타입 (1) | 2018.07.14 |
C언어 포인터 기초 개념 (0) | 2018.07.14 |
- Total
- Today
- Yesterday
- OSI 7Layer
- 대항해시대 다음 런처
- 대항해시대 런처
- vite.js
- EACCES: permission denied
- 데스큐어
- 대항해시대 넷마블 런처
- JNI 시그니처
- 대항해시대 로그인
- Linux
- JNI SIGNITURE
- JNI INVOKE
- 폴더선택다이얼로그
- JNI
- HTTPie
- 다클 코드
- 구글 클라우드 플랫폼
- 합격 후기
- 정보처리기사 2018 2회
- 대항해시대
- 다클 빈
- 빈파일
- 정보처리기사 실기 후기
- lxd
- 위대한 쇼맨
- 대항해시대 다클
- 정처기 실기
- React.js
- 위대한 쇼맨 ost
- 위대한 쇼맨 후기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |