fe是什么元素| 小拇指长痣代表什么| l是什么码| 岁岁年年是什么意思| 肺部有结节要注意什么| 爱出者爱返福往者福来什么意思| 梦见发大水是什么预兆| 脸书是什么| 什么什么的沙滩| 正常龟头是什么颜色| 吃什么能提升免疫力| 小米可以和什么一起煮粥| b端和c端是什么意思| 核素治疗是什么| 吃什么能快速降血压| mandy英文名什么意思| 女人梦见蜈蚣预兆什么| 腹胀吃什么药| 盆腔ct能检查出什么病| 什么叫欲擒故纵| acr是什么意思| 欧皇什么意思| 胃胀消化不好吃什么药| 什么食物含钾高| 拔完智齿后需要注意什么| 银杏是什么| 骨骼肌率是什么意思| 胆结石是什么原因造成的| 巨蟹座的幸运色是什么颜色| 癸酉五行属什么| 双顶径是什么| 恨嫁什么意思| 灰指甲是什么样子| 婚检检查什么项目| 缺维生素b吃什么食物| 每天早上喝一杯蜂蜜水有什么好处| k14是什么金| 喝什么祛湿气效果最好| 胆小如鼠的意思是什么| 驻唱是什么意思| 大便有酸味是什么原因| 靶向是什么意思| 红底白杠是什么标志| 焗油是什么意思| 主管护师是什么职称| 穹隆什么意思| 乳房胀痛什么原因| 辛是什么意思| 内科是什么| 美美哒什么意思| 尿液很黄是什么原因| 畸胎瘤是什么| 耷拉的近义词是什么| 欢是什么动物| 便秘是什么意思| 办健康证要带什么证件| 法图麦在回族什么意思| 摩羯座女生和什么星座男生最配| 矫正视力什么意思| 什么是黄体破裂| 晟这个字读什么| 什么是丝状疣| 膝盖后面的窝叫什么| 心脏24小时监测叫什么| 孕初期需要注意些什么| 什么是肺结节| 中国的国酒是什么| 别开生面是什么意思| 离子检测是检查什么| 月德是什么意思| 冬虫夏草有什么功效与作用| 感冒吃什么药好得快| 吃完饭就拉肚子是什么原因| 开字五行属什么| 什么水晶招财旺事业| 会车什么意思| 大什么大| 不宁腿综合症吃什么药| 打虫药什么时候吃合适| 交警支队长是什么级别| 还价是什么意思| 小猫踩奶是什么意思| 小儿惊风是什么症状| 36计的第一计是什么| 皲裂是什么意思| 原位杂交技术检查什么| arr是什么| 尿酸高平时要注意什么| 贫血用什么药补血最快| copd是什么意思| 羊奶有什么作用与功效| 什么是尿潴留| 阿莫西林和头孢有什么区别| 拉肚子后吃什么食物好| 神经病和精神病有什么区别| 7.8号是什么日子| 狗为什么喜欢吃骨头| 黄色是什么意思| 助力车是什么车| 胃炎不能吃什么| 霉菌感染用什么药| prl是什么意思| 均一性红细胞什么意思| 九月三号是什么日子| 燥湿什么意思| 吃什么不掉头发| 脑供血不足什么症状| 什么深似海| 牙掉了是什么预兆| 豆包是什么意思| 啧啧啧什么意思| 艾滋病人有什么特征| 节育环要什么时候取才是最佳时期| 火头鱼是什么鱼| 为什么会有阴虱子| 心房纤颤是什么意思| 驻马店有什么大学| 片状低回声区什么意思| 印度属于什么人种| 河北有什么市| 怀孕初期什么症状| 1929年属什么| 体寒湿气重喝什么茶好| 为什么喜欢你| 2031年是什么年| 吃什么水果对肠胃好| 党的性质是什么| 白癜风是什么| 九寨沟属于什么市| 地龙是什么动物| 玖字五行属什么| 大姨妈来了喝红糖水有什么功效| 蜂蜜什么时间喝最好| 孕妇吐得厉害有什么办法解决| 静息是什么意思| 孔雀开屏是什么行为| 绝无仅有的绝什么意思| 狐狸吊坠有什么寓意| 射频消融是什么手术| hpv52型阳性是什么意思严重吗| 什么是沙发发质| 穿什么好呢| 祖字五行属什么| 胃不舒服吃什么水果好| 什么充电宝能带上飞机| 国药准字h代表什么| 翘首企盼是什么意思| 胆碱是什么| 三月份生日是什么星座| 8月31号是什么星座| 修身养性下一句是什么| 胆红素三个指标都高是什么原因| 六月二十八是什么日子| 6月14号是什么星座| 高铁为什么会晚点| 眼睛长结石是什么原因引起的| 龋齿是什么样子的图片| 迷妹是什么意思| 右手中指指尖麻木是什么原因| 舌头起泡是什么原因| 白泽长什么样| 为什么会感染幽门螺杆菌| 手机充电慢是什么原因| 腿抽筋用什么药| 有胃火口臭怎么办吃什么药| 李白字什么| 双下肢静脉彩超主要检查什么| 膀胱壁增厚毛糙是什么意思| 寅是什么意思| 甘肃天水有什么好玩的地方| 杰字属于五行属什么| 日语亚麻得是什么意思| 告状是什么意思| 镜面人是什么意思| 心性是什么意思| 92年是什么命| 一个口一个犬读什么| 吃生姜对身体有什么好处和坏处| 有口无心是什么意思| 家政是什么工作| 什么都能吃| 尿道口为什么叫马眼| 什么的狮子| 牙齿贴片是什么意思| 左侧肋骨下面是什么器官| 马路杀手是什么意思| 激素脸是什么样子| 女人为什么会叫| 悦风空调是什么牌子| 儿童腮腺炎挂什么科| 炖肉放什么调料| 官杀混杂是什么意思| 犬瘟是什么原因引起的| 心脏房颤是什么原因| 男性hpv挂什么科| 天津有什么好吃的| 起死回生是什么生肖| 喝菊花有什么好处| 气运是什么意思| 右耳朵疼是什么原因| 时柱将星是什么意思| 小叶增生吃什么药| 肝胆脾挂什么科| 言字旁的字和什么有关| 肚脐眼疼吃什么药| 鱼石是什么| 上火了吃什么水果降火最快| 胃肠蠕动慢吃什么药| 走马灯是什么意思| 一月二十五号是什么星座| 走路脚心疼是什么原因| jbl是什么牌子| 什么是非甾体抗炎药| 漫展是什么| 梦见搞卫生什么意思| 胸为什么会下垂| 1999年是什么命| lf是什么牌子| 吐奶严重是什么原因| 月经刚完同房为什么痛| 沉香是什么东西| 为什么一直流鼻血| dhc是什么| 头发长的快是什么原因| 水瓶座的幸运色是什么| 呼吸困难胸闷气短挂什么科| 姝字五行属什么的| 梦见别人吐血是什么预兆| 大便一粒粒的是什么原因| 缓刑是什么意思| 睡觉流口水是什么情况| 229什么星座| 不可以加什么偏旁| 甘油三酯高吃什么| 生孩子需要准备什么东西| 竹笋炒什么好吃| 金国人是现在的什么人| 生育登记有什么用| 七月八号什么星座| 体力不支是什么意思| 5月26日是什么星座| 脑梗怎么形成的原因是什么| 经心的近义词是什么| 猪红是什么| 3c数码产品是什么| 歼灭是什么意思| 长豆角叫什么| 风寒感冒流鼻涕吃什么药| 鹅吃什么| 粉墙用什么| 2月出生是什么星座| 韦编三绝是什么意思| 隔天是什么意思| 7.23什么星座| 血糖高喝什么豆浆好| 基因检测是什么意思| 泡脚什么时候最佳时间| 什么是黑茶| 婴儿为什么戴银不戴金| 鞋子eur是什么意思| 香精是什么| 识大体是什么意思| 稻谷是什么| 心肌炎有什么症状| 百度

解密C语言的指针

嵌入式系统   作者:machinnneee 时间:2025-08-05来源:电子产品世界
百度 原标题:游戏主机失败后蓝港借智能音箱再涉足硬件业务3月6日,蓝港互动宣布全面拥抱区块链,旗下游戏、硬件、影视IP业务全面链化,其投资的斧子科技(现蓝港科技)最新动向亦浮出水面。

  C语言作为嵌入式开发的基础语言已经越来越让工程师们知道它的厉害:可以直接操控寄存器,方便CPU的功能设置;可以直接操作物理地址,并进行位的操作进而达到硬件的操作等等。如果你用8位16位单片机进行开发学习,相信使用一些程序技术可以完成设计:循环、选择、位操作、条件判断、数组和程序嵌套等。如果你进行操作系统,关注操作系统的内核(以linux为例),你就会发现这些C语言是其中的一小部分。对于操作系统来说更多运用到指针,究其原因,一个很重要的原因就是处理速度快。那么,今天我就把C语言的指针做个总结。

  第一、 指针和常数

  对于学习过指针的同学都知道,常数是不能直接幅值给指针的,如果想给指针幅常数,需要如下操作:

  int num=8;

  int *pnum=#

  这时我们需要注意,pnum指向8存储的地址,*pnum为该地址存储的数据8。

  第二、 指针和数组

  指针和数组有着天然的联系,其实数组就是一个连续地址存放着常数,我们看下面一个例子:

  int arry[3]={1,3,5};

  那么arry就是该数组的首地址,*arry就是该数组首地址存放的数据1,*(arry+1)则为该数组的第二个位置存放的数据3.

  从以上分析可以看出:

  *arry和arry[1]同样指向该数组的首个元素。

  那么可以在进一步延伸,如下:

  a 、int *data[3] 为指针数组,数组中每个元素为一个指向int型数据的指针,赋值如下:

  int arry[3]={1,3,5};

  int *data[3]={arry,arry+1,arry+2};

  data[0]为指向arry首地址,*data[0]为该地址存放的数据1。data为data数组的首地址,*data和data[0]都为数组arry的首地址。其实也可以说定义了三个数组 data[0], data[1]和data[2]。

  b、int(*data)[3]为一数组指针,为一数组,每个元素为存放一个地址,赋值如下:

  int arry[3]={1,3,5};

  int (*data)[3]=&arry;

  那么*data就为第一个元素的地址,**data就为第一个地址所在的元素1。

  看到这里,你是不是已经感受到指针的乐趣了?更有趣的还在下面,喝杯水,继续分析。

  第三、 指针与结构体

  这个也是一个很有趣的方面,先看一个例子:

  struct PERSON

  {

  char *pername;

  int age;

  }person;

  如果想给*pername幅值,那么可以如下操作:

  person.pername="jack";//用指针,可以完成赋值

  如果结构体定义为

  struct PERSON

  {

  char pername[20];

  int age;

  }person;

  那么person.pername[20]="jack"是不能通过的,究其原因就是结构体为抽象数据类型,不分配存储单元,所以数组赋值不通过。如果采用指针赋值,那么可以解决这类问题。

  第四、 指针与函数

  指向函数的指针在linux操作系统中很常见,现在拿个简单的例子来进行说明:

  int print(int a, int b ,char *p)

  { printf("in put number sum is %d,input string is %sn",a+b,p);//三个参数,int int和char*

  return a+b;}

  int main()

  {

  int (* pprint)(int,int,char *);//定义指向函数print的指针函数*pprint,三个参数,int int和char*

  pprint=print;//给指针函数赋值

  int c;

  c=pprint(3,6,var);

  printf("%dn",c);//输出print的return值

  }

  从上面这个例子中可以看出,一个函数其实就是从一个地址开始的特殊功能程序,其函数名就为该程序的首地址,所以可以这么给指针函数赋值:pprint=print;//给指针函数赋值

  经过以上唠叨,相信你对指针有了更深入的认识,在实际的工作中不仅仅是这么简单的问题,如果你是做纯软件开发,那么效率永远是第一位的,那么,你就要好好的利用指针这个工具了。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

关键词: C语言 指针 linux

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版
野猪怕什么颜色 洋葱不能和什么食物一起吃 蹲久了站起来头晕是什么原因 扁平足为什么不能当兵 89属什么
2月11号是什么星座 颈椎骨质增生吃什么药效果好 肝是干什么用的 护理假是什么意思 世界上最可怕的动物是什么
泡泡纱是什么面料 三毛为什么自杀 来大姨妈为什么会拉肚子 置换是什么意思 拿什么证明分居两年
老虎五行属什么 皮炎用什么药膏最有效 天津副市长什么级别 脑溢血有什么后遗症 rh阳性是什么意思
命根子是什么hcv8jop6ns8r.cn 湿毒是什么原因引起的hcv9jop3ns1r.cn trx是什么hcv9jop2ns4r.cn 抹茶是什么茶叶做的hcv8jop9ns9r.cn 819是什么意思weuuu.com
在什么地方liaochangning.com 意大利用什么货币hcv8jop7ns4r.cn 沸去掉三点水念什么hcv9jop3ns2r.cn 蒲地蓝消炎片治什么病hcv8jop4ns2r.cn 不让看朋友圈显示什么shenchushe.com
阑尾炎的症状是什么hcv9jop7ns4r.cn 推迟月经吃什么药hcv8jop8ns8r.cn 脂浊是什么意思hcv9jop2ns2r.cn 一个王一个番读什么hcv9jop3ns4r.cn 邮电局是干什么的hcv9jop7ns5r.cn
朱元璋为什么杀蓝玉hcv9jop5ns4r.cn 五倍子是什么hcv8jop0ns9r.cn 为什么喝咖啡会拉肚子hcv9jop7ns2r.cn 木加鬼念什么hcv9jop2ns7r.cn 阿西吧什么意思helloaicloud.com
百度