繁体   English   中英

在c中为指针结构成员分配值

[英]assigning a value to a pointer structure member in c

我正在定义一个ac函数,需要为通过地址传递给该函数的结构的成员分配一个值,例如,我定义了一个称为cell的结构:

typedef struct AB
{int A;
 char val;
}cell;

我编写了一个名为Available的函数,其中一个单元格通过地址传递给该函数。 我需要用用户指定的参数填充单元格中的整数成员A,这是我的方法。

void available(cell *c,int v)
{ *c.A=v;
 }

我的问题是我能做到吗? 像* cA = v?

通常,您将使用箭头运算符:

c->A = v;

但您也可以这样做:

(*c).A = v;

请注意,在这种情况下,需要括号来处理运算符优先级。

采用

(*c).A=v;

要么

c->A=v;

代替

*c.A=v;

有效分配看起来像

void available( cell *c, int v )
{ 
   ( *c ).A = v;
}

或喜欢

void available( cell *c, int v )
{ 
   c->A = v;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM