◎ volatile 키워드 해당 변수를 최적화에서 제외 하도록 명령하는 키워드 외부 하드웨어와 통신할 때 주로 사용된다 "volatile" 이란 단어는 "변덕스러운" 이라는 의미를 가지고 있는데, 변덕스럽게 변할 수 있는 값들에 대해 최적화 작업을 수행하지 말라고 컴파일러에게 명령한다고 생각하면 이해가 쉬울듯 하다 ◎ syntax volatile 키워드 사용을 위한 구문은 매우 간단한데, 변수 앞에 volatile 키워드를 붙여주기만 하면 된다 > #include typedef struct SENSOR { /* 감지 안되면 0, 감지되면 1 이다.*/ int sensor_flag; int data; } SENSOR; int main() { volatile SENSOR *sensor; // 컴파일러는 더이..
1. typedef 선언 이란? typedef 선언이란 typedef를 스토리지 클래스로 사용하는 선언으로, 선언자는 새 형식이 된다 typedef 선언을 사용하여 C에서 이미 정의된 형식이나 사용자가 선언한 형식에 대한 보다 짧거나 의미 있는 이름을 생성할 수 있다 (특정 형식에 대한 별칭 부여) 불필요한 타이핑을 줄이고 소스코드 작성의 효율을 올려준다 배열, 구조체, 열거형, 함수 등에도 사용 가능하다 2. typedef 선언 방법 → typedef 선언 방법은 다음과 같다 > typedef struct Human human → 구조체 [struct Human] 을 [human] 으로 대신 부르겠다는뜻 /* 다양한 typedef 사용 예시 */ #include int add(int a, int b) ..
◎ memcpy 포함 헤더 : ( C++에서는 ) 메모리의 일부분을 복사한다 기본형 : void* memcpy(void* destination, const void* source, size_t num); soure 가 가리키는 곳 부터 num 바이트 만큼을 destination이 가리키는 곳에 복사한다 리턴값 : destination 단순히 이진데이터를 복사하는 함수기 때문에 destination 과 source 의 타입은 함수와 무관하다 source 의 널 종료 문자를 검사하지 않고, 언제나 정확히 num 바이트 만큼을 복사한다 오버플로우를 방지하기 위해 destination 과 source 가 가리키는 배열의 크기는 반드시 num 바이트 이상이어야 하고, 서로 겹치면 안된다 ( 만일 두 메모리 블록이..