배열 요소의 접근 — 인덱스와 대괄호, 요소 값의 읽기·수정과 변수 인덱스 | 기초 C언어 8.1.2

기초 C언어Chapter 08 배열 › Section 01 1차원 배열

8.1.2 배열 요소의 접근

배열이름[인덱스]로 배열의 한 칸을 골라 읽고 바꾸는 방법. 숫자 상수 대신 정수형 변수를 인덱스로 쓰는 경우까지 확인.

교재 수록 위치
교재
『기초 C언어』 · 이은상 · 부크크 · 364쪽
단원
Chapter 08 배열 › Section 01 1차원 배열 › 배열 요소의 접근
쪽수
232p ~ 233p2쪽
세부 내용
인덱스란? · 대괄호([])를 이용한 접근 · 배열이름[인덱스] · CODE 8.2 · 변수를 인덱스로 사용하기
학습 목표
배열이름[인덱스]로 요소 값을 읽고 수정하는 방법을 익히고, 변수 인덱스의 의미를 이해함
영상 목차 · 원하는 부분부터 보기
  1. 0:00 · 강의 소개와 인덱스
  2. 1:06 · 대괄호를 이용한 요소 접근
  3. 3:11 · 배열 원소 값 수정 예제
  4. 6:27 · 변수를 인덱스로 사용하기
  5. 7:44 · 핵심 정리

01특정한 한 칸이 필요한 순간교재 232p

  • 앞 편에서는 배열을 선언하고 초기화하여 여러 데이터를 담을 저장 공간을 만듦. 이제는 그중 특정한 한 칸의 값을 사용하거나 바꾸는 방법이 필요.
  • 배열의 각 요소(element)에 접근하기 위해 사용하는 것이 인덱스(Index). 앞 편에서 본 대로 0부터 시작.
  • 교재의 비유로는 배열이 커다란 아파트 건물, 인덱스는 원하는 몇 호실인지 정확히 가리키는 주소. 여기서 주소는 메모리 주소가 아니라 호실 번호라는 뜻.

02배열 이름 뒤에 대괄호와 번호교재 232p

  • 형식은 배열이름[인덱스]. 배열 이름 뒤에 대괄호 []를 붙이고, 그 안에 원하는 요소의 인덱스 번호를 적음.
  • scores[2]는 scores 배열의 인덱스 2, 곧 세 번째 요소를 가리킴. 사람이 세는 순서와 인덱스가 하나씩 어긋나는 구조.

선언의 숫자와 접근의 숫자는 다름

int scores[5];의 5는 칸의 개수, scores[2]의 2는 칸의 번호. 접근할 때 음수나 크기 이상의 번호를 쓰면 앞 편에서 본 존재하지 않는 칸에 접근하게 되므로 주의.

03일반 변수와 같은 취급교재 232p

쓰임예동작
읽기printf의 %d 자리에 scores[2]칸의 값을 꺼내 출력, 값은 그대로
수정scores[2] = 95;칸에 새 값을 대입해 덮어씀
  • 배열이름[인덱스]로 쓴 표현은 해당 자료형의 일반 변수와 동일하게 취급. 값을 읽어 올 수도, 새 값을 대입하여 수정할 수도 있음.
  • 4.2.2에서 대입 연산자 = 의 왼쪽에는 변수만 올 수 있다고 함. 배열이름[인덱스]도 값을 담는 한 칸이므로 그 자리에 올 수 있음. 다만 배열 이름만 따로 왼쪽에 쓰는 것은 불가.

04CODE 8.2 — 세 번째 요소의 값 수정교재 232~233p

  • CODE 8.2 — 앞 편과 같은 scores 배열에서 scores[2]의 값을 출력하고, 95를 대입한 뒤 다시 출력하는 예제.
  • 실행 결과는 수정 전 3번 학생의 점수: 100 / 수정 후 3번 학생의 점수: 95 두 줄. 대입하는 문장에는 printf가 없어 출력이 두 줄뿐.
  • 상세 코드와 풀이는 교재 CODE 8.2에서 확인.

05읽어 오고 덮어쓰고 확인교재 233p

  • scores[2]라는 표현으로 100을 읽어 와 출력하고, 대입 연산자 =로 같은 공간의 값을 95로 덮어쓴 뒤 다시 출력하여 변경을 확인하는 흐름.
  • 바뀐 것은 인덱스 2의 칸 하나뿐. 나머지 네 칸의 90, 85, 77, 92는 그대로 유지.
  • 덮어쓰면 원래 있던 100은 남지 않고 사라짐. 일반 변수에 새 값을 대입할 때와 같은 결과.

06변수를 인덱스로 사용교재 233p

  • 배열 인덱스에는 숫자 상수뿐만 아니라 정수형 변수도 사용 가능. int i = 4;일 때 scores[i]는 scores[4]와 동일하게 동작하여 5번 학생의 점수 92를 출력.
  • 실행할 때 변수 i에 든 값을 꺼내 번호로 쓰는 구조. 이 특징은 배열의 무한한 확장 가능성을 보여 줌.
  • i를 0부터 4까지 바꾸며 대괄호 안에 넣으면 다섯 칸을 차례로 접근 가능. for 문과의 결합은 다음 편 8.1.3 반복문과 배열의 조합에서 다룸.

이 절의 핵심 정리

  1. 인덱스는 배열의 각 요소에 접근하기 위해 사용하는 번호이다.
  2. 배열의 특정 요소에는 배열 이름 뒤 대괄호 안에 인덱스를 적어 접근한다.
  3. 배열이름[인덱스]는 일반 변수처럼 값을 읽거나 새 값을 대입하여 수정할 수 있다.
  4. CODE 8.2에서 scores[2]의 값 100은 대입 후 95로 바뀌고 나머지 요소는 그대로 남는다.
  5. 인덱스 자리에는 숫자 상수뿐 아니라 정수형 변수도 쓸 수 있다.
강의 자료8.1.2 배열 요소의 접근 1 / 9

번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다
다음 절 · 8.1.3 반복문과 배열의 조합 교재 234p~236p — for 문의 제어 변수를 인덱스로 써서 배열의 모든 요소를 차례로 방문 ↗

더 자세한 내용은 교재에서

이 글은 『기초 C언어』 232p~233p의 내용을 강의 영상에 맞춰 핵심만 간추린 요약입니다. 각 개념의 상세한 설명과 예제, 실습 코드, 임용시험 기출문제 풀이는 교재에서 다루고 있습니다.

댓글

이 블로그의 인기 게시물

2007년 국가직 9급 기계일반 기출문제 풀이

기계공작법 연습문제 130문 | 임용 기출 영상·교재 쪽수 바로가기