typedef 的作用是给已知的数据类型命名别名,起到下列作用;

1 复杂的数据类型名称简化
2 用typedef 定义与平台无关的数据类型
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;      /* 字节 */
typedef unsigned short      WORD;      /* WORD (无符号短整型) */
typedef unsigned long       DWORD;     /* DOUBLE WORD (无符号长整形)*/
typedef float               FLOAT;     /* 浮点型 */
typedef FLOAT               *PFLOAT;   /* 指向float类型指针 */
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;  /* 指向void类型的常指针 */

C语言typedef和Windows数据类型相关推荐

  1. C语言 typedef 和 define 区别 - C语言零基础入门教程

    目录 一.typedef 简介 1.typedef 简化复杂的类型声明 A.定义普通变量 B.定义函数指针 C.定义结构体 2.定义与平台无关的类型 二.define 简介 三.typedef 和 d ...

  2. c语言写报告抽象数据类型,C语言抽象数据类型ADT

    根据编程的问题匹配合适的数据类型.数据项连接构成了链表,定义了一个结构代表单独的项.设计了一些方法把一系列结构构成一个链表.本质上,我们使用C语言的功能设计了一种符合程序要求的新的数据类型.但是上述的 ...

  3. 【c语言学习概述-基本数据类型】

    各大编程语言的主要用途 C/C++ C++ 是在C语言的基础上发展起来的,C++ 包含了C语言的所有内容,C语言是C++的一个部分,它们往往混合在一起使用,所以统称为 C/C++.C/C++主要用于P ...

  4. 二:常用 Windows 数据类型(DWORD/LPSTR/CHAR/INT/HWND)

    本实例定义了几个常用常量的 Windows 数据类型,包括 DWORD,LPSTR ,CHAR和HWND,并演示 了如何使用它们进行了复制.比较大小等操作. #include<Windows.h ...

  5. Windows数据类型探幽——千回百转你是谁?(1)

    Windows Data Types Windows数据类型 由微软Windows操作系统所支持的各种数据类型是用来定义函数的返回值.函数和消息的参数以及结构体成员(因为Win32程序是用C语言来编写 ...

  6. c语言八大数据基本类型,C语言中基本的数据类型有哪些

    C语言中基本的数据类型有哪些 发布时间:2020-11-26 15:10:13 来源:亿速云 阅读:76 作者:Leah 本篇文章给大家分享的是有关C语言中基本的数据类型有哪些,小编觉得挺实用的,因此 ...

  7. 是c语言自带的数据类型吗_计协带你了解C语言程序

    点击蓝字关注我们 你知道c语言吗?你对它又了解多少呢?C语言编译链接出来的程序就是软件.硬件是基础,软件是灵魂.硬件功能需要软件操作来体现. c语言是什么意思 C语言是一门面向过程.抽象化的通用程序设 ...

  8. C语言 | typedef

    C语言typedef用新的类型名代替原有的类型名 //指定用Integer为类型名,作用与int相同. typedef int Integer://指定用Real为类型名,作用与float相同. ty ...

  9. 常用的基本Windows数据类型

    常用的基本Windows数据类型 ----------------------------------------------------------------------------------- ...

最新文章

  1. 借助acs来实现telnet、ssh的远程认证
  2. 计算机安装双系统后系统引导修复的方法
  3. UVa 1583 - Digit Generator
  4. 【机器学习】一文读懂层次聚类(Python代码)
  5. 树莓派Linux内核源码配置、编译、挂载(boot/kernal/根文件)、开启新内核
  6. 剑指Offer - 面试题15. 二进制中1的个数(位运算)
  7. 企业网站 源码 e-mail_天津seo优化套餐服务收费_天津网站优化关键词价格
  8. python字典去重合并_Python字典及基本操作(超级详细)
  9. sas rename重命名_如何使用sp_rename命令在SQL Server中重命名表
  10. Qt 窗口置顶 | 和取消置顶
  11. 交互原型案例Axure50套
  12. Linux入门的基础知识点
  13. 计算机的睡眠和休眠设置密码,怎么设置笔记本电脑睡眠唤醒密码
  14. Pipeline快速入门
  15. 自定义修改elementUI组件样式(贯穿样式)
  16. Java+Springboot+Mybatis+Mysql+Bootstrap+Maven实现景区旅游管理系统
  17. 力天创见客流统计分析系统
  18. 2022年财务顾问FA行业研究报告
  19. html5中画线效果标记是,HTML5画布中怎样绘制线?
  20. 短视频平台还能这样赚钱?无需拍视频,每天能赚200多详细流程

热门文章

  1. Leetcode 350. 两个数组的交集 II 解题思路及C++实现
  2. Ethernet/IP 学习笔记五
  3. Elasticsearch的或且非及其组合
  4. PyQt5 技术篇-QSpinBox选值框值改变触发事件实例演示,获取QSpinBox组件的值,选值框的边界值设置方法
  5. MySQL 语法问题:You can‘t specify target table ‘xxx‘ for update in FROM clause. 原因及解决方法
  6. 在Vue组件中获取全局的点击事件
  7. stm32f4之GPIO
  8. 模拟电路技术之基础知识(十)
  9. [YTU]_2907( 类重载实现矩阵加法)
  10. Python标准库01 正则表达式 (re包)