무한루프 : 이벤트 감시중이라고 볼 수도 있음
예시 : 메모장
continue : 스킵 기능
지역변수 -> 스택 메모리에 저장되니까 함수 호출 순서와 소멸 순서는 반대
/ { }만나면 소멸
매개변수도 지역변수
전역변수 -> 데이터 영역에 저장, 프로그램 시작 시 생성, 프로그램이 종료될 때 메모리 상에서 소멸, 스택 영역과 전혀 상관 x
static 변수 -> 데이터 영역에 저장, 내가 생성할 시 생성. 프로그램이 종료될 때 소멸
생성하면 닫는 괄호를 만나도(}) 소멸되지 않음. 계속해서 소멸하지 않고 살아있다.
메모리 생명 주기
배열 : 같은 속성을 가진 것들을 나열해 놓은 것
배열 복사 : 배열도 배열끼리 복사가 가능하다.
변수 복사하듯 복사하면 에러 발생(C2106 에러 - 배열이름 : 상수이기 때문)
요소끼리 복사해야 함
(js에서 하듯이 복사할 수 없음)
문자열에 이름을 붙여주면 변수로 사용 가능
문자열 끝에는 null 문자가 반드시 추가됨
포인터는 포인터 변수의 줄임말, 메모리의 주소값을 저장하고 있는 변수
보통 주소값을 저장한다는 표현을 반대로 해당 메모리를 가리킨다라고도 표현한다
어느 특정 메모리 주소를 가리키거나 향하고 있다는 뜻
배열의 이름은 해당 배열의 첫 번째 요소의 주소값
= 첫 번째 요소의 주소값을 가리키는 포인터
배열 이름 = 포인터 상수
값에 의한 복사
참조에 의한 복사
기본적인 함수의 인자 전달 형태 : 복사
a에서 b로 복사 시 a에도 값이 존재, b에도 값이 존재
전달하는 값 : 실인수
복사되어 전달되는 값 : 형식인수
(메모리는 개별적으로 가지고 있다는 뜻)
전달인자로 배열을 전달하고 싶을 경우 : 포인터 변수로 배열의 이름을 받음
(주소값이 복사되는 것 -> 참조에 의한 복사_call by reference)
-> 값에 의한 복사가 아닌 참조에 의한 복사를 쓰는 이유 : 메모리 절감 가능