C言語のtypedefとWindowsのデータ型

typedefの役割は、既知のデータ型エイリアスに名前を付けることであり、次の役割を果たします。

1複雑なデータ型名を単純化
する2typedefを使用してプラットフォームに依存しないデータ型を定義する
3コードの可読性を高める
4エラーを回避する

 

typedefを使用したプログラムの例は次のとおりです。
 

// tydemo.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <stdio.h>
#include <string.h>

typedef struct Books
{
   char  title[50];
   char  author[50];
   char  subject[100];
   int   book_id;
} mybook;

int main(int argc, char* argv[])
{
	mybook book;
 
   strcpy( book.title, "AAA");
   strcpy( book.author, "CCCCC"); 
   strcpy( book.subject, "FFFFFFFFFFFF");
   book.book_id = 12345;
 
   printf( "书标题 : %s\n", book.title);
   printf( "书作者 : %s\n", book.author);
   printf( "书类目 : %s\n", book.subject);
   printf( "书 ID : %d\n", book.book_id);

   getchar();
	return 0;
}

 

Windowsは、typedefまたは#defineを使用して、windows.hヘッダーファイルで多くの新しいデータ型を定義します。


typedef int INT; / *整数* /
typedef unsigned int UINT; / *符号なし整数* /
typedef unsigned int * PUINT; / *符号なし整数ポインター* /
typedef int BOOL; / *ブール型* /
typedef unsigned char BYTE; / * Byte * /
typedef unsigned short WORD; / * WORD(unsigned short)* /
typedef unsigned long DWORD; / * DOUBLE WORD(unsigned long)* /
typedef float FLOAT; / *浮動小数点* /
typedef FLOAT * PFLOAT; / *ポインター浮動小数点型* /
typedef BOOL near * PBOOL; / *ブール型へのポインタ* /
typedef BOOL far * LPBOOL;
typedef BYTE near * PBYTE; / *バイト型へのポインタ* /
typedef BYTE far * LPBYTE;
typedef int near * PINT; / *整数ポインタ* /
typedef int far * LPINT;
typedef WORD near * PWORD; / * WORDタイプへのポインタ* /
typedef WORD far * LPWORD;
typedef long far * LPLONG; / *長い整数へのポインタポインター* /
typedef DWORD near * PDWORD; / * DWORDタイプへのポインター* /
typedef DWORD far * LPDWORD;
typedef void far * LPVOID; / * voidタイプへのポインター* /
typedef CONST void far * LPCVOID; / *ポインターの定数ポインターボイドタイプ* /

おすすめ

転載: blog.csdn.net/bcbobo21cn/article/details/113855424