六种用法:

1.常规变量类型定义

例如:typedef unsigned char uchar 
描述:uchar等价于unsigned char类型定义 uchar c声明等于unsigned char c声明

2.数组类型定义 
例如: typedef int array[2]; 
描述: array等价于 int [2]定义; array a声明等价于int a[2]声明

扩展: typedef int array[M][N]; 
描述: array等价于 int [M][N]定义; array a声明等价于int a[M][N]声明

3.指针类型定义 
例如: typedef int *pointer; 
描述: pointer等价于 int *定义;pointer a声明等价于int *a声明

例如: typedef int *pointer[M]; 
描述: pointer等价于 int *[M]定义 pointer p声明等价于int *a[M]声明明

4.函数地址说明 
描述:C把函数名字当做函数的首地址来对待,我们可以使用最简单的方法得到函数地址 
例如: 函数:int func(void); unsigned long funcAddr=(unsigned long)func, funcAddr的值是func函数的首地址

5.函数声明 
例如: typedef int func(void); func等价于 int (void)类型函数 
描述1: func f声明等价于 int f(void)声明,用于文件的函数声明 
描述2: func *pf声明等价于 int (*pf)(void)声明,用于函数指针的声明

6.函数指针 
例如: typedef int (*func)(void) 
描述: func等价于int (*)(void)类型 
func pf等价于int (*pf)(void)声明,pf是一个函数指针变量

识别typedef的方法:

a).第一步。使用已知的类型定义替代typdef后面的名称,直到只剩下一个名字不识别为正确 
b).第二步.未知名字为定义类型,类型为取出名称和typedef的所有部分, 
c).第三部.定义一个变量时,变量类型等价于把变量替代未知名字的位置所得到的类型

C语言中typedef的六种用法相关推荐

  1. c语言typedef怎么自定义函数,c语言中typedef的用法

    C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言. 尽管C语言提供了许多低级处理的功 ...

  2. c语言typedef的用法,C语言中typedef用法总结,看完就能像编程老手一样熟练运用...

    请看下文 C语言中typedef关键字应用比较常见,许多C语言初学者对它的用法不甚了解.事实上,我们可以用typedef来定义自己习惯使用的数据类型名称,可以替代自己所熟悉的基本类型.数组类型.指针类 ...

  3. sizeof 在C语言的作用,C语言中的sizeof的用法详解

    C语言中的sizeof的用法详解 一.sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++.--等.它并不是函数.sizeof操作符以字节形式给出了其操作数的存储大小.操 ...

  4. c语言中 char怎样用,C语言中char*和char[]用法区别分析

    C语言中char*和char[]用法区别分析 本文实例分析了C语言中char* 和 char []的区别.分享给大家供大家参考之用.具体分析如下: 一般来说,很多人会觉得这两个定义效果一样,其实差别很 ...

  5. C语言中atoi()函数的用法

    C语言中atoi()函数的用法 一.学习要点: 1.int atoi(const char *str)把参数str所指向的字符串转换为一个整数: 二.代码 #include<stdio.h> ...

  6. python语言中with as的用法使用详解

    本篇文章主要介绍了python语言中with as的用法使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 With语句是什么? 有一些任务,可能事先需要设置,事后做 ...

  7. c语言memcopy_C语言中memcpy 函数的用法详解

    C语言中memcpy 函数的用法详解 memcpy(内存拷贝函数) c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址 ...

  8. C语言中,#include的用法:#include 和 #include区别

    C语言中,#include的用法:#include "" 和 #include<>区别 采用 " ":依次搜索当前目录.包括/I编译开关的路 ...

  9. C语言中fscanf()函数的用法介绍

    C语言中fscanf()函数的用法介绍 fscan()函数的原型: int fscanf(FILE *stream,const char *format,[argument...]); fscanf函 ...

最新文章

  1. navicat导数据速度_华为廊坊云数据中心二期1~3期主楼聚氨脂、聚脲防水隔热总承包工程...
  2. vue2 怎么用vite_vue3vite简介
  3. POJ 2287 - Tian Ji -- The Horse Racing(贪心)
  4. Kanas.net Framework 入门介绍
  5. 我自己关于C语言,编译器,标准库,GUN glibc,CRT ,API之类的理解。
  6. mybatis中concat的用法
  7. 解决webStorm没有cesium代码自动提示的方法
  8. 关于百度富文本编辑器UEditor中ctrl+enter键发送消息的解决方案
  9. 海思AI芯片3559A方案学习(一)
  10. 合格的攻击性白帽黑客应该具备的基本素质(1)
  11. OpenCV空间人工智能竞赛:第一部分
  12. android webView 全屏播放网络视频
  13. AIM Tech Round (Div. 1) C. Electric Charges 二分
  14. 计算机专业必读哪两本经典书籍?
  15. Codeblocks-20.03下载及安装教程(面向小白的保姆级教程)
  16. TL437x-EVM评估板测试手册(2)
  17. WIN键 锁定、解锁
  18. 快消行业营销难?巨量引擎让生意每一步明明白白
  19. 金融反欺诈-交易基础介绍 - 阿里巴巴云誉【转载】
  20. android as修改版本号,麻烦大大们别水了,帮我修改个版本号可好

热门文章

  1. ios 视频旋转---分解ZFPlayer
  2. [codeforces 508E]Maximum Matching
  3. R语言:怎么进行异常检测
  4. 每日一函数2015/05/17 ---2
  5. python的logging模块
  6. 如何做好项目规划,完成一个保质保量的软件工程!
  7. sql2005 性能调校 观察各种资源的使用情况
  8. ubuntu20.04安装noetic版本ros
  9. android bootloader阶段GPIO的控制
  10. sklearn 岭回归