C의 형식 정의
C 언어는 유형의 새 이름을하는 데 사용할 수 있습니다,형식 정의 키워드를 제공합니다.다음의 예는 용어BYTE 단일 바이트 번호이며 정의
typedef unsigned char BYTE;
이 유형의 정의 후, 같은 식별자 BYTE부호 CHAR 타입 약어로서 사용될 수있다 :
BYTE b1, b2;
다음과 같은 규칙에 따라, 정의는 상징적 인 이름이 약자로 입력을 사용자에게 경고하기 위해 문자를 대문자로한다, 그러나 당신은 또한 소문자를 사용할 수 있습니다 :
typedef unsigned char byte;
또한 사용자의 새 이름을 사용자 정의 데이터 형식에형식 정의 할 수 있습니다.예를 들어, 다음과 같이 새로운 데이터 유형을 정의하고 직접 변수의 구조를 정의하기 위해 새로운 데이터 유형을 사용하는 구조 타입 정의를 사용할 수있다 :
#include <stdio.h> #include <string.h> typedef struct Books { char title[50]; char author[50]; char subject[100]; int book_id; } Book; int main( ) { Book book; strcpy( book.title, "C Programming"); strcpy( book.author, "Nuha Ali"); strcpy( book.subject, "C Programming Tutorial"); book.book_id = 6495407; printf( "Book title : %s\n", book.title); printf( "Book author : %s\n", book.author); printf( "Book subject : %s\n", book.subject); printf( "Book book_id : %d\n", book.book_id); return 0; }
상기 코드는 컴파일되고 실행될 때, 다음과 같은 결과를
Book title : C Programming Book author : Nuha Ali Book subject : C Programming Tutorial Book book_id : 6495407
#DEFINE 대 타입 정의
C타입 #define 지시자는 데이터 유형의 다양한 별명을 정의하고, 유사한 형식 정의를위해 사용된다, 그러나 그들은 다음과 같은 차이점이있다 :
- 타입 정의 형식 정의에만기호이름은#DEFINE는 별명의 유형을 정의 할 수 있지만, 또한 예를 들어, 하나 하나를 정의 할 수 있고, 값 별칭을 정의한다.
- typedef를 해석컴파일러에 의해수행된다#DEFINE 문은 컴파일러에 의해 사전 처리에 의해 수행된다.
여기 #DEFINE의 간단한 사용하는 것이다 :
#include <stdio.h> #define TRUE 1 #define FALSE 0 int main( ) { printf( "Value of TRUE : %d\n", TRUE); printf( "Value of FALSE : %d\n", FALSE); return 0; }
상기 코드는 컴파일되고 실행될 때, 다음과 같은 결과를
Value of TRUE : 1 Value of FALSE : 0