Programming 32

[C++]전처리기

C/C++에서 #으로 시작하는 것은 지시어로써 컴파일러에게 무언가를 알릴 때 사용한다. 대표적인 것이 #include로 컴파일러에게 특정 파일을 포힘시키라고 알리는 역할을 한다. #ifndef (#ifdef) 와 #endif는 항상 함께 사용되며, 사용법은 다음과 같다. #ifndef(#ifdef) 이름 내용 #endif #ifndef는 이름에 해당하는 것이 #define문에 의해 정의되어 있지 않으면 컴파일할 때 내용을 포함시키고, 이름이 정의되어 있으면 포함시키지 말라고 컴파일렁에게 지시한다. #ifdef 는 #ifndef와 반대로 동작한다. 정의되어 있을 때 포함시킨다. ex) #ifndef __CMACHINE_H_INCLUDED__ #define __CMACHINE_H_INCLUDED__ 프로그램..

Programming/C&C++ 2005.11.23

struct와 union

struct는 흔히들 구조체라고 말하는 복합 데이터형으로 다양한 여러 데이터 타입들을 사용자가 정의하여 사용하는 것으로 아파트로 비유하면 될까나... 한 라인의 집은 모두 동일한 크기와 구조를 가지며 방의 배열 또한 동일하다. 반면에 union은 하나의 메모리 공간을 여러 데이터 타입들 중 한가지를 선택하여 메모리 공간을 공유하여 쓰는 것이다. 뭐... 숙박업소랑 비슷한 개념일까나...

Programming 2005.11.12

Access Modifier

Access Modifier란 어떤 변수를 어디어디에서 접근 가능한지를 규정하는 부분으로서 여기에는 public(완전공개), private(같은 클래스에서만 접근가능), protected(subclass에서도 접근가능) 등이 있다. 객체변수의 경우는 반드시 private형으로 규정되어 보호되어야 한다. 이를 Encapsulation이라고 한다. 객체변수와 외부 객체의 상호 작용은 객체 매쏘드를 통해서만 이루어진다.

Programming 2005.10.11

list

먼저 list의 기본구조는 다음과 같다. typedef struct list_node *list_pointer; typedef struct list_node { datatype value_name; list_node link; } list_pointer ptr=NULL; 하나의 데이터와 다음 node의 주소값을 가지는 가장 기본적인 노드의 형태이다. 그리고 C에서 추가적인 노드의 생성은 동적할당을 통하여 노드를 생성하여 연결시켜준다. list_pointer create() { list_pointer first, second; first=(list_pointer)malloc(sizeof(list_node)); second=(list_pointer)malloc(sizeof(list_node)); second..

Programming 2005.10.08