*함수 복습
#include <stdio.h> // printf 함수를 사용하기 위한 표준 입출력 헤더 파일
int add(int x, int y); // add 함수의 원형 선언(미리 함수의 형태를 알려줌)
int main() // 프로그램이 시작되는 main 함수
{
int x, a = 1, b = 2;
// 정수형 변수 x 선언
// a는 1로 초기화
// b는 2로 초기화
x = add(1, 2);
// add 함수에 1과 2를 전달
// 반환값(1+2=3)을 x에 저장
printf("%d\n", x);
// x에 저장된 값 3을 화면에 출력
printf("%d\n", add(2, 3));
// add 함수에 2와 3을 전달
// 반환값 5를 바로 출력
x = add(a, b);
// 변수 a와 b의 값을 add 함수에 전달
// 반환값(1+2=3)을 x에 저장
printf("%d\n", x);
// x에 저장된 값 3을 화면에 출력
return 0;
// 프로그램을 정상적으로 종료
}
int add(int x, int y)
{
// 정수형 매개변수 x와 y를 받는 add 함수 정의
return x + y;
// x와 y를 더한 결과를 호출한 곳으로 반환
}
<9장. 기억 부류>
*기억 부류 지정자(storage class specifier)
- 생명주기(life time) : 언제 생기고 사라지는가?
- 가시성의 범위(scope) : 어떤 곳에서 접근이 가능한가? / 변수의 유효 범위
*지역(local) 변수와 전역(global) 변수
- 지역 변수 : 해당 함수나 블록 ({}) 내에서만 사용 가능
- 전역 변수 : 소스 전체에서 사용 가능
→ 전역 변수는 최소한으로 사용하는 편이 좋다.
*컴퓨터의 프로그램 메모리 레이아웃

- 출처: c언어 프로그래밍 강의 자료|한성현 교수님
*실습 예제 9.3

→ 전역 변수와 지역 변수가 중복해서 선언되어 있다면 지역 변수 값이 우선
→ 지역 변수는 블록 내부(필요한 부분)에서 만들어지며,
전역 변수는 프로그램이 시작되면 바로 만들어지고 프로그램이 끝나야 사라진다.
*자동(auto) 변수
- c언어의 일반적인 지역 변수.
- 기억 클래스가 명시되지 않고 선언된 변수는 모두 자동 변수. 즉, auto는 생략이 가능하다.
*레지스터(register) 변수
- 레지스터 변수는 자동 변수와 동일한 특징을 갖고 있으나,
스택이 아니라 CPU내의 레지스터에 저장하여 고속 터리가 가능하다.
*정적(static) 변수
(실습 예제 9.3)
(실습 예제 9.3)
static 추가
→ 함수가 끝난 뒤에도 값을 유지해야 할 때 사용한다.
*기억 부류 지정자 정리

- 출처: c언어 프로그래밍 강의 자료|한성현 교수님
<10장. 배열>
*(), {}, []의 사용법
| 기호 | 역할 | 비유 | 핵심 의미 |
| () | 계산/함수 | 작은 작업 | 함수·조건·계산 |
| {} | 영역/블록 | 방 | 코드 영역 |
| [] | 순서 접근 | 서랍 번호 | 배열·순서 접근 |
*실습 예제 10.2

*실습 예제 10.3

*일차원 배열
→ 배열의 이름은 그 배열의 시작 주소다.
(실습 예제 10.7)
*다차원 배열

- 출처: c언어 프로그래밍 강의 자료|한성현 교수님
*문자형과 문자열 배열
(실습 예제 10.15)

→ 배열의 방의 갯수를 쓸 때는 눈에 보이는 것보다 하나 더 큰 숫자를 써야한다.
→ char형 배열 문자열을 출력하려면 배열의 이름을 %s로 출력하면 된다.
'c언어 > 복습 과제' 카테고리의 다른 글
| c프로그래밍 12주차 (0) | 2026.05.20 |
|---|---|
| c프로그래밍 11주차 (0) | 2026.05.13 |
| c프로그래밍 10주차 (0) | 2026.05.06 |
| c프로그래밍 9주차 (0) | 2026.04.29 |
| c프로그래밍 7주차 (0) | 2026.04.15 |