`
蒙面考拉
  • 浏览: 160637 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

typedef的学习

 
阅读更多

typedef顾名思义,为“类型定义”,可以解释为:将一种数据类型定义为某一个标识符,在程序中使用该标识符来实现相应数据类型变量的定义。

 

功能:用自定义名字为已有数据类型命名。

 

类型定义简单形式:typedef type name;

 

 

typedef定义类型步骤

 

1.按定义变量方法先写出定义体,如 int i;

2.将变量名换成新类型名,如 int INTEGER;

3.最前面加typedef 如 typedef int INTEGER;

4.用新类型名定义变量,如 INTEGER i,j;

 

典型用法:

 

 定义结构体类型:

  

typedef struct {int x; int y;} Point;

 

需要说明的是,我们还可以使用下面的方法来定义结构体变量:

 

struct t_Point {

 

    int x; int y;};   // 注意,这里最后一个分号不能省略

 

 

 

int main(int argc, char* argv[])

 

{

 

    struct t_Point a, b;

 

    // . . .

 

    return 0;

 

}

 

显然,这种方法没有typedef更加直观(在C++中,main函数第一行的struct关键字可以省略,但在标准C中,省略该关键字会出现编译错误)。

 

此外,对于定义链接队列中的结点,我们可以这样实现:

 

typedef struct t_node {

 

    int Value;

 

    struct t_node *next;

 

} Node;

 

当然也可以这样定义:

 

typedef strcut t_node Node;

 

struct t_node {

 

    int Value;

 

    Node *next;

 

};

定义数组类型

 

typedef int MyIntArray [100];

 

那么程序中的

 

MyIntArray ia;

 

就相当于

 

int ia[100];

 

定义函数指针

typedef void (*FUNCADDR)(int)

 

此处FUNCADDR是指向这样一个函数的指针,该函数的返回值为void类型,函数有一个int型的参数。

例如:

 

void print (int x)

 

{

 

    printf (“%d\n”, x);

 

}

 

int main (int argc, char *argv[])

 

{

 

    FUNCADDR pFunc;

 

    pFunc = print;    // 将指针指向print函数

 

    (*pFunc)(25);     // 调用函数print

 

    return 0;

 

}

 

函数指针一般用于回调函数、中断处理过程的声明,以及在面向对象程序设计中对事件处理过程的声明。

 

定义类类型

typedef class {

 

    private:

 

       int a;

 

    public:

 

       int b;

 

} MyClass;

 

typedef 与 #define的区别 

    typedef int COUNT

     #define COUNT int

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    typedef 命令详解和用法

    ### `typedef`命令详解及用法 `typedef`在C/C++编程语言中是一个非常重要的关键字,用于定义新的数据类型别名。...通过以上内容的学习,我们可以更好地理解和利用`typedef`的强大功能,提升代码质量和效率。

    Typedef用法小结01

    通过本文的学习,我们了解到 `typedef` 在 C 和 C++ 编程中的重要作用,它不仅可以帮助我们创建易于记忆和理解的类型名,还可以简化复杂的类型定义,从而提高代码的质量和可维护性。然而,在使用 `typedef` 时也需要...

    STM8-库函学习笔记之GPIO.pdf

    STM8-库函学习笔记之GPIO相关的函数: 1 void GPIO_DeInit(GPIO_TypeDef* GPIOx); 2 void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin, GPIO_Mode_TypeDef GPIO_Mode); 3 void GPIO_Write(GPIO_...

    采用类似GPIO_TypeDef的方式,定义Led_TypeDef结构体类型,用结构体类型设置led参数,用固定占空比闪烁

    采用类似GPIO_TypeDef的方式,定义Led_TypeDef结构体类型,用结构体类型设置led参数,用固定占空比闪烁; 2. 使用说明: 通过修改宏定义可以修改开关时间; 通过查看头文件可以方便移植到不同硬件上; 3. 适合人群...

    每天学点C++(C++实例教程:教程+源码)Typedef.zip

    总之,"每天学点C++"的这个Typedef实例教程提供了深入学习C++ Typedef特性的宝贵资源。通过这个压缩包中的教程和源码,学习者将能够全面掌握如何使用Typedef,以及它在各种编程情况下的优势。不断实践和探索,你将...

    13.4共用体和typedef.pdf

    共用体和typedef是C语言中两个重要的概念。本章节将详细介绍共用体和typedef的定义、声明、使用方法及相关注意事项。 一、共用体 共用体是一种构造类型数据,由若干不同类型的数据项组成,每个数据项称为共用体...

    C语言中宏及typedef 的高级技巧

    通过对条件编译和`typedef`的高级使用技巧的学习,我们可以编写出更加灵活、可维护且易于理解的C语言程序。这些技巧不仅有助于提高开发效率,还能让我们的代码更具适应性和扩展性。在日常开发中,合理利用这些工具...

    C及C++中typedef的简单使用介绍

    又是在学数据结构的时候,发现了之前学习的知识遗忘很多,在发现对C/C++中关键字typedef的理解还是没有到位后,我翻阅了学C++用到的课本,又问了度娘,也看了不少关于typedef用法的博客。于是我就想把我理解的东西...

    关于C/C++中typedef的定义与用法总结

    typedef与#define有些相似,其实是不同的,特别是在一些复杂的用法上,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,加上自己的一个分析。...

    关于C++中函数指针的使用(包含对typedef的分析).txt

    通过本文档的学习,我们可以了解到函数指针的基本概念以及其在C++中的应用方式。同时,我们也了解了如何使用`typedef`来简化函数指针的定义,并学会了如何处理类的成员函数指针。这些知识对于提高程序的灵活性和可...

    VC经典学习资料

    - 在学习C++之前,了解传统的C语言知识是有益的,重点包括编译预处理、typedef、位运算和标准库函数的使用。 4. **C++标准模板库**: - 提及C++标准模板库(STL)的重要性,尽管与MFC关系不大,但它代表了现代...

    关于typedef的用法总结

    typedef与#define有些相似,其实是不同的,特别是在一些复杂的用法上,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我不加修改的引用过来了,加上自己的一个分析。...

    C语言基础知识点解析(extern,static,typedef,const)

    【C语言基础知识点解析(extern,static,typedef,const)】 在C语言中,extern, static, ...理解这些关键字的含义和用法,是深入学习C语言的基础。在实际编程中,应根据具体需求灵活运用,遵循最佳实践,确保代码质量。

    json-typedef-codegen:一个从JSON Typedef模式生成代码的CLI工具

    jtd-codegen:从JSON Typedef模式生成代码(又称 )是一种易于学习的标准化方法,用于定义JSON数据的架构。 您可以使用JSON Typedef来跨编程语言轻松地验证数据,创建虚拟数据,生成代码等等。 jtd-codegen是一个CLI...

    C语言学习大纲__郝斌(讲解).doc

    关键词包括auto、break、case、char、const、continue、default、do、double、else、enum、extern、float、for、goto、if、int、long、register、return、short、signed、sizeof、static、struct、switch、typedef、...

    stm32入门学习资料

    ### STM32入门学习资料详解 #### 一、引言 STM32是STMicroelectronics公司推出的一款基于ARM Cortex-M内核的32位微控制器系列。由于其高性能、低功耗以及丰富的外设资源,STM32已经成为嵌入式系统开发领域的热门...

    c++primer 学习笔记

    这篇学习笔记主要涉及了C++编程的一些核心概念,包括程序结构、变量、基本类型、初始化与赋值、可读性、常量与引用、typedef、枚举以及标准库中的字符串和向量类型。 1. **程序结构**: - 每个C++程序都必须包含`...

    C语言学习的有用资料

    标题中的"C语言学习的有用资料"表明...以上是根据给定信息提炼出的C语言学习的关键知识点,包括`typedef`的运用、`sizeof`运算符的理解以及C语言文件系统的基本概念。掌握这些知识对于学习C语言的初学者来说至关重要。

    C语言指针学习笔记

    ### C语言指针学习笔记知识点解析 #### 一、C语言中的数据类型 在学习C语言的过程中,了解数据类型是非常重要的第一步。数据类型不仅决定了变量所占用的内存大小,还决定了变量的操作方式。 ##### 1. 基本数据...

    stm32的学习笔记

    在STM32的学习过程中,GPIO(General Purpose Input/Output,通用输入/输出)是初学者首先要掌握的基础模块。GPIO可以配置为输入或输出,用于与外部设备进行通信。 GPIO的库函数提供了对GPIO端口进行初始化、读写、...

Global site tag (gtag.js) - Google Analytics