找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 729|回复: 20
收起左侧

单片机C语言里有个不认识的符号 ->大家给看看什么意思

  [复制链接]
dzbj 发表于 2020-8-10 20:40 | 显示全部楼层 |阅读模式
void        ADC_Inilize(ADC_InitTypeDef *ADCx)
{
        P1ASF = ADCx->ADC_Px;
        ADC_CONTR = (ADC_CONTR & ~ADC_90T) | ADCx->ADC_Speed;
        if(ADCx->ADC_Power == ENABLE)        ADC_CONTR |= 0x80;
        else                                                        ADC_CONTR &= 0x7F;
        if(ADCx->ADC_AdjResult == ADC_RES_H2L8)        PCON2 |=  (1<<5);        //10位AD结果的高2位放ADC_RES的低2位,低8位在ADC_RESL。
        else                                                                        PCON2 &= ~(1<<5);        //10位AD结果的高8位放ADC_RES,低2位在ADC_RESL的低2位。
        if(ADCx->ADC_Interrupt == ENABLE)        EADC = 1;                        //中断允许                ENABLE,DISABLE
        else                                                                EADC = 0;
        if(ADCx->ADC_Polity == PolityHigh)        PADC = 1;                //优先级设置        PolityHigh,PolityLow
        else                                                                PADC = 0;
}

这是一段STC官方给的函数库 里边这个 -> 符号是什么意思 以前没见过

回复

使用道具 举报

npn 发表于 2020-8-10 21:43 | 显示全部楼层
与union或struct的指针有关,C语言最难学的一部分。
回复

使用道具 举报

csmyldl 发表于 2020-8-10 23:50 | 显示全部楼层
ADCx中的位变量
回复

使用道具 举报

zhangxiaozi 发表于 2020-8-11 08:59 | 显示全部楼层
ADCx 是一个结构体,里边的成员有ADC_Powe,ADC_AdjResult,ADC_Interrupt,ADC_Polity等,
当我们给每个成员赋值是就用ADCx->ADC_Power,表示ADCx里的ADC_Power, ->表示指向的意思。
有时候也用点“.”一样的,ADCx.ADC_Power

评分

参与人数 1黑币 +6 收起 理由
dzbj + 6 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

SKYLAR123 发表于 2020-8-11 09:50 | 显示全部楼层
这个应该是是结构体指针,使用指针访问结构体成员
回复

使用道具 举报

塞北江南 发表于 2020-8-11 10:26 | 显示全部楼层
是指针的另外一种写法,共用体,结构体,枚举较常用
回复

使用道具 举报

 楼主| dzbj 发表于 2020-8-11 10:59 | 显示全部楼层
大概明白了 感谢各位前辈

这东西百度也没找到 可能我搜的关键词不对
回复

使用道具 举报

415454422 发表于 2020-8-11 11:05 | 显示全部楼层
->代表结构体指针访问成员,.表示结构体访问成员。
一个是struct *访问成员,一个是struct访问成员
回复

使用道具 举报

fwskywinner 发表于 2020-8-12 15:56 | 显示全部楼层
从ADC_InitTypeDef *ADCx这个参数定义来看,ADCx是一个结构体指针,所以在使用这个结构体内部定义的成员时,需要使用"->"这个符号,如果参数定义是ADC_InitTypeDef ADCx,那么使用结构体内部的成员就用"."
回复

使用道具 举报

billliu66 发表于 2020-8-13 16:11 | 显示全部楼层
通过指针访问结果体或类的成员指针后面必须跟->,用它指向成员。如:
typedef struct
{
  unsigned char x
unsigned charr  y;
}POINT;
POINIT* pPOINIT;
POINIT mPOINIT;
pPOINIT -> x =1;
pPOINIT -> y =1;
//这两行代码与下面两行带码,做同样的事
mPOINT.x = 1;
mPOINT.y = 1;

评分

参与人数 1黑币 +6 收起 理由
dzbj + 6 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

liuhaoyu204 发表于 2020-8-14 11:04 | 显示全部楼层
“指向”的意思bai,常用于结构体指针变量访问成du员
回复

使用道具 举报

qq1527678989 发表于 2020-8-14 15:06 | 显示全部楼层
一般用来访问结构体,类的成员
回复

使用道具 举报

昆明路口卖提莫 发表于 2020-8-14 15:24 | 显示全部楼层
直接建议看看C语言指针与结构体赋值
回复

使用道具 举报

ag超玩会 发表于 2020-8-14 21:24 | 显示全部楼层
是指针的另外一种写法,指针访问结果体或类的成员指针后面必须跟->,用它指向成员。
回复

使用道具 举报

流浪深圳 发表于 2020-9-23 19:06 | 显示全部楼层
指向寄存器的某个位,这个你要看手册
回复

使用道具 举报

liangweichao 发表于 2020-9-24 16:11 | 显示全部楼层
结构体变量访问成员用“.”
结构体指针访问成员用“->”
回复

使用道具 举报

123654abc 发表于 2020-9-24 16:53 来自手机 | 显示全部楼层
指向的意思   运算符“->”,通过结构体指针变量直接获得结构体变量的成员变量,一般形式如下: 结构体指针变量-> 成员变量  其中“结构体指针变量”为结构体指针变量,“成员变量”为结构体成员变量名称,“->”为运算符。
回复

使用道具 举报

EasonWuaa 发表于 2020-9-25 15:09 | 显示全部楼层
billliu66 发表于 2020-8-13 16:11
通过指针访问结果体或类的成员指针后面必须跟->,用它指向成员。如:
typedef struct
{

我觉得老哥你解释的很详细,一个是结构体指针(访问成员时用->),一个是结构体变量(访问成员时用
.),这个我当初学的时候也一脸懵
回复

使用道具 举报

13317970316 发表于 2020-10-16 23:34 | 显示全部楼层
#在这里快速回复#->代表结构体指针访问成员,ADCx 是一个结构体
回复

使用道具 举报

TTQ001 发表于 2020-10-17 09:16 | 显示全部楼层
这个问题解释的很好了。 非常有帮助!
回复

使用道具 举报

i_could_have 发表于 2020-10-22 17:04 | 显示全部楼层
访问指针指向的结构体成员
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表