文档章节

学点 C 语言(29): 数据类型 - 定义新类型(typedef)

涂孟超
 涂孟超
发布于 2014/09/26 15:30
字数 261
阅读 4
收藏 0

自定义的类型名一般要大写, 以提示这是自命名的类型.

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;
}

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2008/12/02/1345422.html

涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
使用typedef声明新类型及函数指针

一、使用typedef声明新类型名   C语言支持一种叫做typedef的机制,它允许你为各种数据类型定义新名字。typedef声明的写法和普通的声明基本相同,只是吧typedef这个关键字出现在声明的前面。...

科技探索者
2017/11/26
0
0
C语言基础教程之typedef

C语言 typedef C 语言提供了 typedef 关键字,您可以使用它来为类型取一个新的名字。下面的实例为单字节数字定义了一个术语 BYTE: typedef unsigned char BYTE; 在这个类型定义之后,标识符...

这个人很懒什么都没留下
2018/08/14
0
0
typedef struct与struct的区别 自学

第一篇:typedef struct与struct的区别 1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(str...

itJackChen
2011/08/11
346
1
C/C++语法知识:typedef struct 用法详解

第一篇:typedef struct与struct的区别 1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(str...

AlphaJay
2011/07/28
424
2
typedef的用法

C语言中typedef用法(ZZ) 1.基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。 在编程...

xtxb
2010/04/19
168
0

没有更多内容

加载失败,请刷新页面

加载更多

查看线上日志常用命令

cat 命令(文本输出命令) 通常查找出错误日志 cat error.log | grep 'nick' , 这时候我们要输出当前这个日志的前后几行: 显示file文件里匹配nick那行以及上下5行 cat error.log | grep -C ...

xiaolyuh
16分钟前
3
0
六、Java设计模式之工厂方法

工厂方法定义: 定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行 类型:创建型 工厂方法-使用场景: 创建对象需要大量重复的代码 ...

东风破2019
23分钟前
2
0
win服务器管理遇到的一系列问题记录

有些小伙伴在使用iis7远程桌面管理工具的时候总是会遇到一系列的问题,下面就是为大家介绍一下服务器日常管理过程中出现的问题及我的解决办法和心得。希望能帮到大家。   拒绝服务器重新启...

1717197346
30分钟前
2
0
flutter 剪切板 复制粘贴

复制粘贴功能 import 'package:flutter/services.dart'; Clipboard.setData(ClipboardData(text:_text));Clipboard.getData;...

zdglf
33分钟前
3
0
如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题?

面试题 如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题? 面试官心理分析 这个是肯定的,用 MQ 有个基本原则,就是数据不能多一条,也不能少一条,不能多,就是前面说的重复消费...

米兜
33分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部