일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Houdini
- jupyter
- HTML
- 깃
- C# delegate
- c# 윈폼
- gitlab
- dart 언어
- git
- github
- c# winform
- 다트 언어
- 포인터
- c# 추상 클래스
- jupyter lab
- 도커
- Algorithm
- 플러터
- Python
- Data Structure
- c#
- C++
- 구조체
- Flutter
- 유니티
- c언어
- C언어 포인터
- docker
- Unity
- vim
- Today
- Total
목록구조체 (4)
nomad-programmer
열거형을 구조체의 멤버로 등록하고 사용하는 예제이다. #include // 열거형 정의 enum play_type { RUN, STOP, ATTACK }; // response 구조체안에 열거형을 멤버로 넣었다. typedef struct { char *name; enum play_type type; } response; void run(response r) { printf("%s\n", r.name); puts("run!"); } void stop(response r) { printf("%s\n", r.name); puts("stop!"); } void attack(response r) { printf("%s\n", r.name); puts("attack!"); } int main(void) { res..
구조체 문법으로 비트 단위를 분리할 수 있다. #pragma warning(disable: 4996) #include // 비트 단위 정보를 다룰 수 있도록 구조체를 선언 (총 1바이트) // 구조체 멤버 하나하나가 1비트 struct BitType { unsigned char bit_0 : 1; unsigned char bit_1 : 1; unsigned char bit_2 : 1; unsigned char bit_3 : 1; unsigned char bit_4 : 1; unsigned char bit_5 : 1; unsigned char bit_6 : 1; unsigned char bit_7 : 1; // 최상위 비트 (MSB) }; int main(void) { struct BitType data;..
과거에는 컴퓨터 시스템의 메모리 용량이 작아 프로그래머들은 메모리를 최대한 적게 사용하도록 프로그램을 개발했다. 허나 최근 메모리 용량이 점차 늘면서 메모리를 더 사용하더라도 프로그램의 실행 속도가 향상되도록 프로그램을 개발하고 있다. 구조체의 경우 다양한 크기의 메모리를 하나의 그룹으로 묶어 사용하다 보니 구조체 요소를 접근할 때 실행 속도가 떨어지는 문제가 발생한다. 그래서 구조체의 요소를 일정한 크기로 정렬하여 실행 속도를 더 빠르게 하는 개념이 C언어 컴파일러에 추가되었다. 컴파일러마다 용어의 차이는 있지만 마이크로소프트에서 제공하는 C컴파일러의 경우에는 "구조체 멤버 정렬" 기능을 제공하며 1, 2, 4, 8바이트로 정렬 기준을 설정할 수 있다. #pragma warning(disable: 49..
typedef 는 타입을 정의한다는 의미의 "type define"의 줄임 표현이다. 기존의 자료형 중에 자료형 이름의 길이가 긴 경우 프로그래머가 짧고 간결하게 자료형을 재정의하는 문법이다. #define과 비슷해 보이지만 #define은 치환 작업을 수행하는 전처리기이고 typedef는 기존 자료형을 다른 이름으로 새롭게 정의하는 기능이다. 기존 자료형을 단순한 형태의 새 자료형으로 typedef 문법이 가장 흔하게 사용되는 경우는 기존 자료형의 이름이 너무 길어서 새로운 자료형으로 재정의해야 할 때이다. typedef unsigned short int US; // unsigned short int temp; 라고 선언한 것과 같다. US temp; 새롭게 정의했다는 의미를 전달하게 위해 새로 정의한..