学点 C 语言(29): 数据类型 - 定义新类型(typedef)
2008-12-02 08:05
253 查看
自定义的类型名一般要大写, 以提示这是自命名的类型.
1. 把 unsigned long 更名为 UINT:
2. 给一个结构重命名:
3. 把整数指针定义为: PINT:
4. 同时用于结构定义:
1. 把 unsigned long 更名为 UINT:
#include <stdio.h> int main(void) { typedef unsigned long UINT; UINT num = 1234567890; printf("%lu\n", num); getchar(); return 0; }
2. 给一个结构重命名:
#include <stdio.h> int main(void) { struct Rec { char c; int i; long d; }; typedef struct Rec MYREC; MYREC r1; r1.c = 1; r1.i = 2; r1.d = 3; printf("%d, %d, %d\n", r1.c, r1.i, r1.d); printf("结构大小: %u, %u, %u", sizeof(struct Rec), sizeof r1, sizeof(MYREC)); getchar(); return 0; }
3. 把整数指针定义为: PINT:
#include <stdio.h> int main(void) { typedef int * PINT; int num = 123; PINT p = # printf("%d, %p\d", *p, p); getchar(); return 0; }
4. 同时用于结构定义:
#include <stdio.h> int main(void) { struct Rec1 { int x,y; } r1 = {11, 22}; /* 同时定义了变量 r1 */ typedef struct Rec2 { double a,b; } REC3; /* 此时的 REC3 不是变量, 而是新定义的类型*/ REC3 r2 = {1.1, 2.2}; printf("%d, %d\n", sizeof(struct Rec1), sizeof(struct Rec2)); printf("%d, %d, %d\n", sizeof(REC3), sizeof r1, sizeof r2); printf("\n%d, %d", r1.x, r1.y); printf("\n%g, %g", r2.a, r2.b); getchar(); return 0; }
相关文章推荐
- 编译器定义的C/C++语言各种基本数据类型的取值范围
- typedef(自定义数据类型)与#define(宏定义)用法比较(前者定义指针比define好用)
- vc和gcc对C语言数据类型长度的定义
- C语言基础之类型定义 typedef、static和extern及递归
- MySQL部分DDL(数据库定义语言(Data Definition Language)),MySQL数据库表中字段的数据类型
- 易语言 取自定义数据类型的大小
- C语言基础之输入输出、常量定义、随机数、动态链接库的注入、数据类型介绍、goto语句的使用
- C++数据类型重定义(数据类型的别名)-typedef
- C语言平面几何1-数据类型的定义
- 易语言 取自定义数据类型的大小
- Go语言学习笔记 --- 常量、变量、批量定义与声明、数据类型、类型别名、类型转换
- web idl 接口定义语言数据类型与 C++绑定关系
- 编译器定义的C/C++语言各种基本数据类型的取值范围用程序输出
- C语言基础之结构体、共用体、枚举、类型定义typedef
- web idl 接口定义语言数据类型与 C++绑定关系(转)
- 编译器定义的C/C++语言各种基本数据类型的取值范围
- typedef定义数据类型
- Java语言基础{Java_se(02)}-字面量和常量-变量的基本定义和使用-Java表达式-数据类型和分类-基本数据类型的转换-算数运算符-赋值运算符-比较运算符-三元运算符-逻辑运算符
- C语言平面几何1-数据类型的定义
- C语言基础之变量的命名规则、定义常量、C的数据类型