티스토리 뷰
- 배열의 개념
- 배열의 정의
- 동일한 자료형을 갖는 자료들의 리스트
- 배열의 각 요소는 하나의 변수로 취급
- 배열은 배열명과 첨자로 구분
- 배열의 선언 형태
- 1차원 배열
- 배열의 첨자가 하나만 있는 배열
- 첨자의 개수는 배열 전체의 구성요소의 개수를 의미
- 배열의 각 요소는 배열명과 첨자로 구분
- 1차원 배열 선언
- 형식: 자료형 배열명[개수]
- 사용 예: int a[10]
- 의미: 1차원 배열로서 배열명은 a이고 배열의 크기는 10이며 정수값이 기억됨
- 1차원 배열의 기억공간 표현
- 물리적 표현(수직)
- array[0], array[1], array[2], ...
- 4byte
- int형이므로 각 요소의 자료는 4byte
- 논리적 표현(수평)
- 1차원 배열의 초기화
- 배열을 선언하면 기억공간을 초기화 해야함
- 초기화방법
- 배열선언 후 초기값 할당
- int array[4];
- array[0] = 10;
- array[1] = 20;
- array[2] = 30;
- array[3] = 40;
- 배열선언과 동시에 초기값 할당
- int array[4] = {10,20,30,40}; -> 배열의 각 요소에 초기값 할당
- int array[] = {10,20,30,40}; -> 배열의 크기 생략 가능
- int array[4] = {10,20,30, }; -> array[3] = 0으로 초기화
- int array[4] = {10, ,30,40}; -> 에러발생
- int array[4] = {10,20,30,40,50}; -> 초기값이 많으면 에러
- 외부로부터 자료를 입력받아 초기화
- int x[10];
- for(i=0; i<10; i++){ scanf("%d",&x[i]); }
- 배열선언 후 초기값 할당
- 1차원 배열의 초기화 후 기억공간의 표현
- 물리적 표현(수직)
- 2차원 배열
- 첨자는 0부터 시작
- 형식: 자료형 배열명[행의 수][열의 수]
- 사용 예: int a[3][4]
- 의미: 2차원 배열로서 배열명은 a이고 3행 4열로 된 12개의 요소를 가진 정수형 배열
- 2차원 배열의 기억공간 표현
- a(배열명): 배열전체의 시작주소
- a[0]: 부분배열 a[0]의 시작주소(&a[0][0])
- a[1]: 부분배열 a[1]의 시작주소(&a[1][0])
- 첨자는 0부터 시작
- 3차원 배열
- 형식: 자료형 배열명[면의 수][행의 수][열의 수]
- 사용 예: int a[2][3][4]
- 의미: 3차원 배열로서 배열명은 a이고 2면 3행 4열로 된 24개의 요소를 가진 정수형 배열
- 1차원 배열
- char형 배열과 문자열
- char형 배열
- 형식: char 배열명[문자열 길이 + 1]
- 사용 예: char str[12]
- 의미: 배열명이 str이고 12문자 길이를 가진 char형 배열
- char형 배열과 문자열
- char형 배열선언과 초기화
- char name[] = "HONG GIL DONG";
- char address[] = {'S', 'E', 'O', 'U', 'L', '\0'};
- 마지막에 '\0'을 추가시켜주지 않는 경우 쓰레기 값이 붙을 수 있음
- scanf()함수 호출을 통해 입력 받은 문자열의 끝에도 \0가 자동으로 삽입됨
- char형 배열선언과 초기화
- char형 배열
- 함수와 배열
- 배열을 함수의 매개변수로 사용할 경우
- 함수 호출 시 배열명만 명시하여 호출
- 함수의 헤더에는
- 1차원 배열의 경우 크기 생략 가능
- 다차원 배열의 경우 가장 높은 차원의 크기 생략 가능
- 배열을 함수의 매개변수로 사용할 경우
- 배열의 정의
'C' 카테고리의 다른 글
[C] 포인터와 배열 (0) | 2021.04.27 |
---|---|
[c] 포인터 (0) | 2021.04.21 |
[C] 입.출력 함수와 연산자 (0) | 2021.03.25 |
[C] 자료형과 선행처리기 (0) | 2021.03.19 |
[C] C언어의 개요 (0) | 2021.03.09 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 교착상태
- server side rendering
- 인접리스트
- BFS
- Stack
- 스텍
- 동적프로그래밍
- 인접행렬
- 세마포어
- C++
- client side rendering
- react
- 이진탐색
- Java
- 병행프로세스
- 자료구조
- 알고리즘
- javascript
- 재귀함수
- 구조체
- 소프트웨어
- 배열
- 최단경로
- stackframe
- 운영체제
- 입출력장치
- dfs
- 퀵정렬
- 클래스
- C
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함