티스토리 뷰

배열

#선언과 초기화

1. 배열 이해
1) 정의
동인한 이름으로 참조되는 연속된 메머리에 할당된 자료구조
같은 데이터 타입을 묶어서 하나의 공간처럼 사용할 수 있는 자료 구조

2) 효과
많은 수의 변수 이름을 생성할 필요가 없음
동일한 이름을 사용하므로 반복문으로 구현하기가 용이함

3) 용어
요소 : 배열을 구성하는 각 항목
배열명 : 전체 공간에 대한 대표 이름(변수명)
크기 : 배열요소의 개수
첨자(index) : 각 요소에 부여되는 위치 정보

2. 선언
데이터 타입 배열명[크기];

배열크기
  • 양수의 정수, 매그로 상수, 관련 연산식으로 지정
  • 변수, const 상수 불가

3. 참조
각 요소에 대한 참조는 index를 이용
0 ~ size-1
배열명[인덱스]
범위 밖의 요소를 참조하는 경우 실행 오류가 발생

4. 초기화
  • 형식 : 데이터 타입 배열명[크기] = {초기값, 초기값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차원 형태이나 컴퓨터는 일차원 구조


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]);
2. 3차원배열
필요에 따라 다차원 배열 선언 가능
데이터 타입 배열명 [면][행][열]
동일한 초기화 방법 사용


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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
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
글 보관함