![](/img/trans.png)
[英]Why is assigning a file pointer to a structure pointer member causing a segmentation fault?
[英]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.