标题: 单片机C语言里有个不认识的符号 ->大家给看看什么意思 [打印本页]

作者: dzbj    时间: 2020-8-10 20:40
标题: 单片机C语言里有个不认识的符号 ->大家给看看什么意思
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
作者: 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;
作者: 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
访问指针指向的结构体成员




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1