본문 바로가기
C프로그래밍/복습

C프로그래밍 13주차 복습 과제

by higurashi 2026. 5. 27.

기억 부류, 배열 기초

 

auto와 static의 차이점 기말고사 출제(출처 : Smile Han의 C 언어 프로그래밍)

 

static 이해하는 것이 중요

 

생명주기(life time), 가시성의 범위(scope) 정리

(출처 : Claude Ai)

 

지역 변수(local)와 전역 변수(global)의 차이점 인지
VS에서 스택(stack)의 최대 크기를 1MB 사용하고 있음, 스택 개념 유의

 

지역 변수는 stack에, 전역 변수, static 변수, 문자열은 데이터 영역에 저장됨

 

(출처 : Python tutor 사용)
중간에 있는 지역 변수 k는 블럭을 빠져나오면 사라짐

 

지역 변수와 전역 변수가 같으면 지역 변수가 우선이다(중복되지 않게 사용하자)

 

지금까지 사용했던 변수 앞에는 auto가 생략된 것

 

지역 변수 예시

 

기말고사 출제

처음 실행할때 13행은 건너뜀 => 프로그램을 실행했을 때 초기화가 됐기 때문에

x, y 모두 지역 변수인 점 유의(y를 밖에서 사용할 수 없음)

전역 변수는 되도록 사용하지 않는 것이 좋음

 

auto, (지역)static, 전역 변수 차이점 알아둬야 함

 

(Claude Ai)

 

★ 예제 9.3 9.5 출제 ★

 

 

배열(array) 기초

 

대괄호[]로 사용

 

0부터 시작하는 것 주의

 

0 1 2 만 있기 때문에 3은 에러가 발생한다

 

배열을 초기화 할 때는 중괄호{}를 사용
모두 0으로 초기화됨
첫 번째만 1로 초기화, 나머지는 0으로 초기화 됨

 

문자 배열 문자열 배열 예시(문자열 배열 마지막에 널 문자 들어가는 것 확인)

 

예제 10.1과 같음

 

 

 

x는 1이 저장된 곳의 주소, x+2는 2가 저장된 곳의 주소이다.(시험 출제★)

 

★배열의 이름은 배열의 시작 주소

 

배열을 활용하면 소스를 간단하게 짤 수 있다

 

 

 

★2차원 배열 초기화 하는 방법 유의

 

방 번호 주의(기말고사 출제 ★)

 

널 문자 반드시 유의

 

★주소를 출력할때 콤보박스를 사용하여 64비트와 32비트로 출력할 수 있다(x86 = 32비트)

 

널 문자가 없어서 발생하는 에러

 

★ %s 는 첫 번째 널 문자 전까지 출력한다

 

scanf() 함수의 버퍼 오버플로우 문제점
%9s로 수정 예시

 

 

자료형 주의

 

★종합 실습 소스 이해 필수★