스택 자료구조의 선언부를 먼저 살펴보자. 스택의 구조체 정의는 다음과 같다. #define MAX_STACK_SIZE 100// 스택의 최대 크기 typedef int elem_t; elem_t get_next(); char* str(elem_t e); void free_elem(elem_t e); typedef struct { elem_t data[MAX_STACK_SIZE]; int top; } stack_t; 여기서 중요한 점은 elem_t라는 타입 이름이다. 이것을 이용하므로써 요소 타입이 무엇이든 상관없이 스택 구조체와 함수들을 이용할 수 있게 된다. 예를 들어 maze를 이용하는 경우라면 벽인지, 길인지를 나타내는 문자를 스택에 넣을 요소로 사용할 수 있다. 그 경우는 typedef char ..
이 글에서는 구조체에 대한 용어와 개념을 소개하겠습니다. 구조체를 어떻게 정의하고 사용하는가와 메모리 할당 등에 대해 살펴봅니다. 강의노트를 이용해 설명해 보겠습니다. 구조체란 타입이 다른 데이터를 하나로 묶는 방법입니다. 배열은 타입이 같은 데이터만 묶을 수 있죠? 근데 우리가 프로그래밍을 하다 보면 서로 다른 타입의 데이터를 묶어서 관리해야 할 일이 많이 생깁니다. 구조체는 그런 데이터를 이름을 붙여서 필드로 관리하게 됩니다. 예를 들어 학생을 나타내는 구조체라면 이름, 나이, 점수를 가질 수 있는데 이름은 문자열이고 나이는 int, 점수는 float로 표시되어야 한다면 구조체로 이들 세 개의 값을 묶어서 관리하면 편리하겠지요? 구조체는 먼저 선언을 해주어야 합니다. 구조체 안에 어떤 필드가 있는지 ..
- Total
- Today
- Yesterday
- 지연계산
- sort key
- 스트링
- 동적바인딩
- ToString
- contains
- follow
- C++ 클래스
- 패턴
- Camel Style
- TypeError
- 이터레이터
- contentEquals
- comparable
- 스트링 +
- rust
- Lazy evaluation
- APPEND
- python example
- typedef
- 자바regex
- python exercise
- format
- 이터러블
- Iterator
- indexof
- 콜렉션
- max
- zip
- CompareTo
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |