따..딱히 공부하려고 포스팅하는 건 아니니까..!
1. 변수 저장 영역 외부 소스 접근 여부 함수 내 선언 특징 전역변수 데이터 O X 정의를 한 번만 할수 있다 정적변수 데이터 X X 자료형 앞에 static을 붙인다 지역변수 스택 X O 함수가 살아있는 동안에만 변수가 존재 정적 전역변수 데이터 X X 전역변수이지만 외부 소스에서 접근 불가 정적 지역변수 데이터 X O 함수를 빠져나와도 변수에 저장된 값이 사라지지 않는다 const : 자기 자신의 왼쪽에 있는 것을 상수화 (단, 가장 왼쪽에 있을 때에는 오른쪽을 고정한다)ex) 'const int *const ptr' 이면, 'int, *' 을 상수화(고정)한다. extern : 함수에 붙여주면 외부에 공개가 된다. 즉, 외부 소스에서 접근 허용이 가능하다. (extern 는 어딘가에 존재하는 전역..
1. 객체 지향 프로그래밍(Object-Oriented Programming: OOP) 소프트웨어를 객체 단위로 작성하는 방법 1) 객체지향의 기본요소 1. 클래스(Class) 같은 종류의 집단에 속하는 속성과 행위를 정의한 것이며 객체지향 프로그램의 기본적인 사용자 정의 데이터형이라고 할 수 있다. - 멤버 변수(필드, field) : 객체 안에 포함된 변수를 다른 일반적인 변수와 구별하기 위해 이름지은 것(클래스에서 자세한 설명)- 멤버 함수(메소드, method) : 객체 안의 함수를 일반적인 함수와 구별하기 위해 이름지은 것 ∴ 객체 ≒ 클래스, 객체 > 클래스 (클래스 = 설계도, 객체 = 제품) 2. 객체 객체 지향 기술의 핵심 개념, 현실세계의 객체들을 흉내내어 소프트웨어 상에서 구현한 것이..
Segmentation Fault란? 잘못된 메모리 참조로 인한 오류를 말합니다. 흔히 NULL 파일을 읽거나 쓰려고 할때, 혹은 할당받은 메모리 공간을 넘은 곳을 건드렸을 때 발생하거나 파일이 비정상적인 이유에 의해 열리지 않은 경우에 주로 나는 오류입니다. 할당받은 메모리공간을 넘은 곳을 건드리는 것이 주된 원인이기 때문에 C/C++의 포인터를 이용할때 가장 많이 나는 오류이기도 합니다. 이때의 오류는 비교적 잡기 쉽지만 STL같이 내부적으로 포인터가 구현되어있는 경우에는 찾기가 난해할 지도 모르니 조심해야 합니다.