티스토리 뷰
배열
#선언과 초기화
1. 배열 이해
1) 정의
2. 선언
동인한 이름으로 참조되는 연속된 메머리에 할당된 자료구조
같은 데이터 타입을 묶어서 하나의 공간처럼 사용할 수 있는 자료 구조
2) 효과같은 데이터 타입을 묶어서 하나의 공간처럼 사용할 수 있는 자료 구조
많은 수의 변수 이름을 생성할 필요가 없음
동일한 이름을 사용하므로 반복문으로 구현하기가 용이함
3) 용어동일한 이름을 사용하므로 반복문으로 구현하기가 용이함
요소 : 배열을 구성하는 각 항목
배열명 : 전체 공간에 대한 대표 이름(변수명)
크기 : 배열요소의 개수
첨자(index) : 각 요소에 부여되는 위치 정보
배열명 : 전체 공간에 대한 대표 이름(변수명)
크기 : 배열요소의 개수
첨자(index) : 각 요소에 부여되는 위치 정보
데이터 타입 배열명[크기];
배열크기
3. 참조배열크기
- 양수의 정수, 매그로 상수, 관련 연산식으로 지정
- 변수, const 상수 불가
각 요소에 대한 참조는 index를 이용
0 ~ size-1
배열명[인덱스]
범위 밖의 요소를 참조하는 경우 실행 오류가 발생
4. 초기화0 ~ size-1
배열명[인덱스]
범위 밖의 요소를 참조하는 경우 실행 오류가 발생
- 형식 : 데이터 타입 배열명[크기] = {초기값, 초기값2, 초기값3 ......};
- 각 요소는 순서대로 인덱스 0부터 초기화
- 배열 크기보다 초기화 요소수가 적으면 나머지는 0으로 초기화
- 초기화 하지 않은 지역 배열요소는 쓰레기 값을 가짐
- 선언과 초기화를 같이 하는 경우 배열 크기는 생략 가능
ex)
학생 50명의 국어 성적을 출력하고 학급 평균을 처리하는 프로그램
#include
int main()
{
int i, kor[50], sum = 0;
for (i = 0; i < 50; i++) {
printf("%d번 학생의 국어점수를 입력하세요");
scanf("%d", &kor[i]);
sum += kor[i];
}
for (i = 0; i < 50; i++) {
printf("%d번 학생의 국어점수 : %d", kor[i]);
}
printf("학급평균은 %f 이다", sum/50.0);
reture 0;
}
# 다차원 배열
1. 2차원 배열
배열을 이차원 형태로 확장
2차원은 index가 2개
index 수가 배열의 차수
형식 : 데이터 타입 배열명 [행크기][열크기];
프로그래머는 2차원 형태이나 컴퓨터는 일차원 구조
2. 3차원배열2차원은 index가 2개
index 수가 배열의 차수
형식 : 데이터 타입 배열명 [행크기][열크기];
프로그래머는 2차원 형태이나 컴퓨터는 일차원 구조
ex)
50명 학생의 국어, 영어, 수학, 성적을 처리하는 프로그램
int i, score[50][3];
for(i = 0; i < 50; i++)
scnanf("%d %d %d, &score[i][0],&score[i][1],&score[i][2],");
for(i = 0; i < 50; i++)
printf("%d번 학생의 성적 : %d %d %d", i + 1, &score[i][0],&score[i][1],&score[i][2]);
필요에 따라 다차원 배열 선언 가능
데이터 타입 배열명 [면][행][열]
동일한 초기화 방법 사용
데이터 타입 배열명 [면][행][열]
동일한 초기화 방법 사용
ex)
5개반 50명 학생의 국어, 영어, 수학, 성적을 처리하는 프로그램
#include
int main()
{
int i, score[5][50][3];
for (i = 0; i < 5; i++) {
printf("반 성적 입력", i++);
for(j = 0; j < 50; j++)
scnanf("%d %d %d, &score[i][j][0],&score[i][j][1],&score[i][j][2],");
}
reture 0;
}
'JAVA기반스마트웹개발2021 > 프로그래밍언어 활용' 카테고리의 다른 글
포인터 (0) | 2021.07.29 |
---|---|
문자열 (0) | 2021.07.27 |
변수의 스코프 (0) | 2021.07.26 |
함수 (0) | 2021.07.26 |
반복문 (0) | 2021.07.26 |