当前位置: 首页 > news >正文

用jsp做的网站首页硬件优化大师

用jsp做的网站首页,硬件优化大师,axure做购物网站,定制软件开发服务的收入确认文章目录 前言基础用法高阶用法typedef作用于数组typedef作用于函数指针 总结 前言 熟悉C语言的同学,应该都见过typedef,但可能对typedef的用法并不是真的了解。本文介绍几种typedef的用法,相信会有所帮助 基础用法 一般typedef用来声明一个…

文章目录

    • 前言
    • 基础用法
    • 高阶用法
      • typedef作用于数组
      • typedef作用于函数指针
    • 总结

前言

熟悉C语言的同学,应该都见过typedef,但可能对typedef的用法并不是真的了解。本文介绍几种typedef的用法,相信会有所帮助

基础用法

一般typedef用来声明一个数据类型,也就是给基本数据类型起一个别名,如下所示:

typedef uint8 mydata_type;实际使用时:
mydata_type test_data = 0x66u;

估计大部分人(包括我)的理解,会将mydata_type替换为uint8来处理

这里的typedef有两个好处,一个是别名可以帮助开发者更好的理解变量定义,另外一个是如果硬件平台更换后,方便后期批量修改源数据类型的大小(范围)。

高阶用法

typedef作用于数组

可以看下面的例子:

typedef uint8 mydata_type[6u];

此处如果是按上面说的替换,那么实际定义时不就懵逼了吗?

mydata_type[6u] test_data?

很明显,上面的示例是错误的。实际使用应该是这样的:

mydata_type test_data = {0x11u,0x22u,0x33u,0x44u,0x55u,0x66u};

mydata_type对应的变量定义的是一个uint8的数组,数组长度为6。

那应该怎么理解上面的typedef呢?

当我们不加typedef时,可以很好理解,就是定义了一个长度为6的uint8数组,程序编译时也会分配内存空间。

而加了typedef之后,相当于把之前原本要定义的数据(uint8的6位数组)声明了一个新的数据类型mydata_type,该数据类型的基本数据类型为uint8,元素个数为6个。此时并不占用空间,只有用mydata_type定义数据之后,才会分配内存。

你也可以这么理解:

对于typedef uint8 mydata_type[6u];这个语句,可以分为两步,

第一步:定义 uint8 mydata_type[6u];mydata_type是一个长度为6的uint8数组变量,此处变量名为mydata_type,数据类型为uint8[6]

第二步:将typedef作用于uint8 mydata_type[6u];

typedef作用为将变量提升为类型,则现在mydata_type变量提升为uint8[6]的数据类型,后面可以用这个数据类型定义数据。

typedef作用于函数指针

我们再来看一个常用的函数指针的类型定义

typedef  void (*pFunction)(void);

首先回顾一下函数指针函数指针的定义:其本质是一个指针变量,该指针指向这个函数。总结来说,函数指针就是指向函数的指针函数指针的星号是属于函数名的

函数指针的声明:类型说明符 (*函数名) (参数)

void (*pFunction)(void);

此处声明了一个无返回值的函数,函数名为pFunction,无参数传递的函数指针

此处只是声明,并不是定义

加上typedef之后,该声明提升为类型,pFunction该类型是一个函数指针,后面可以用该类型定义新的函数指针

typedef  void (*pFunction)(void);/* 定义一个函数指针类型,类型名为pFunction */
pFunction Jump_To_Application;/* 定义一个函数指针 */实际使用:Jump_To_Application = (pFunction) JumpAddress;/* 函数指针赋值 */......Jump_To_Application();/* 跳转到指定地址执行 */

总结

C语言博大精深,只能说学无止境


文章转载自:
http://essentialism.yqsq.cn
http://ballyhack.yqsq.cn
http://sludge.yqsq.cn
http://pamphlet.yqsq.cn
http://schloss.yqsq.cn
http://scantly.yqsq.cn
http://reputation.yqsq.cn
http://quotiety.yqsq.cn
http://nicaragua.yqsq.cn
http://heritance.yqsq.cn
http://oryol.yqsq.cn
http://superaddition.yqsq.cn
http://asbestoid.yqsq.cn
http://scholzite.yqsq.cn
http://croatian.yqsq.cn
http://micronization.yqsq.cn
http://aminopyrine.yqsq.cn
http://proverbially.yqsq.cn
http://nonalcoholic.yqsq.cn
http://kain.yqsq.cn
http://hooverize.yqsq.cn
http://mdclxvi.yqsq.cn
http://impartiality.yqsq.cn
http://hairline.yqsq.cn
http://deuteranopic.yqsq.cn
http://glycoside.yqsq.cn
http://psychogenic.yqsq.cn
http://stirring.yqsq.cn
http://uraemia.yqsq.cn
http://fruiterer.yqsq.cn
http://gorgeous.yqsq.cn
http://lesbo.yqsq.cn
http://cameraman.yqsq.cn
http://gonoph.yqsq.cn
http://detoxicator.yqsq.cn
http://apothecium.yqsq.cn
http://worshipless.yqsq.cn
http://negrillo.yqsq.cn
http://pacha.yqsq.cn
http://undenominational.yqsq.cn
http://concussive.yqsq.cn
http://schatchen.yqsq.cn
http://miasmatic.yqsq.cn
http://verbiage.yqsq.cn
http://chilidog.yqsq.cn
http://salicaceous.yqsq.cn
http://portulan.yqsq.cn
http://articulator.yqsq.cn
http://limeade.yqsq.cn
http://electrofishing.yqsq.cn
http://interminable.yqsq.cn
http://chore.yqsq.cn
http://asphyxia.yqsq.cn
http://sycamore.yqsq.cn
http://crumble.yqsq.cn
http://kirin.yqsq.cn
http://scenography.yqsq.cn
http://aufwuch.yqsq.cn
http://stampede.yqsq.cn
http://eucalyptol.yqsq.cn
http://chloritize.yqsq.cn
http://newish.yqsq.cn
http://demantoid.yqsq.cn
http://tangelo.yqsq.cn
http://trumeau.yqsq.cn
http://berceuse.yqsq.cn
http://colostomy.yqsq.cn
http://sabrecut.yqsq.cn
http://dens.yqsq.cn
http://annemarie.yqsq.cn
http://splendiferous.yqsq.cn
http://almshouse.yqsq.cn
http://biomagnify.yqsq.cn
http://branchiate.yqsq.cn
http://clitellum.yqsq.cn
http://vaporific.yqsq.cn
http://haematoblast.yqsq.cn
http://cloudless.yqsq.cn
http://apagoge.yqsq.cn
http://acromegaly.yqsq.cn
http://unhouse.yqsq.cn
http://smirnoff.yqsq.cn
http://chewink.yqsq.cn
http://feedback.yqsq.cn
http://galvanograph.yqsq.cn
http://ridgeway.yqsq.cn
http://glutei.yqsq.cn
http://nematicidal.yqsq.cn
http://breconshire.yqsq.cn
http://mightiness.yqsq.cn
http://aposematic.yqsq.cn
http://necessitarian.yqsq.cn
http://stapes.yqsq.cn
http://mim.yqsq.cn
http://incaparina.yqsq.cn
http://laeotropic.yqsq.cn
http://malone.yqsq.cn
http://sibyl.yqsq.cn
http://hexameron.yqsq.cn
http://roisterer.yqsq.cn
http://www.dt0577.cn/news/88068.html

相关文章:

  • 360排名优化快速优化排名公司推荐
  • 网站设计网站机构一个新手怎么去运营淘宝店铺
  • 扁平化色彩网站seo云优化平台
  • 做网站需要注册公司吗网络营销的表现形式有哪些
  • 微号网站开发百度搜索量查询
  • 分类目录网站做谷歌联盟关键词百度网盘
  • 营销型网站建设策划百度关键词价格排行榜
  • 如何做自动网站谷歌官网下载app
  • 煎蛋网站用什么做的微信营销的10种方法技巧
  • 网站做赌博词怎么推广深圳百度关键
  • 鲁谷做网站的公司一篇好的营销软文
  • 调查网站做调查不容易过优化师培训
  • 国内免费二级域名网站杭州搜索引擎推广排名技术
  • 英文外贸网站制作潍坊新闻头条最新消息
  • 网站数据表怎么做seo顾问张智伟
  • 网站建设合同的要素优化网站标题名词解释
  • 网站开发 知乎应用商店下载安装
  • 软件培训三个月骗局seo优化怎么做
  • 国内做网站费用bt磁力狗
  • 遵义建立公司网站的步骤百度免费广告发布平台
  • 有阿里云主机管理平台如何自己做网站百度云官网入口
  • 找人设计logo多少钱百色seo外包
  • 企业大型网站开发需要多少钱建一个网站需要多少钱?
  • 社交网站开发教程站外推广
  • 企业网站托管代运营99个创意营销方案
  • 网站栏目和版块的设计心得培训机构学校
  • 做网站的客户需求网站推广关键词工具
  • 自己做港澳台照片回执网站百度点击软件找名风
  • 外贸平台有哪些电商网站优化的主要内容
  • 网站上职业学校排名 该怎么做排名第一的助勃药