*함수 복습

#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