在c语言中为指针结构成员赋值
我定义了一个c函数,需要给通过地址传递到函数中的结构的成员赋值,例如,我定义了一个名为cell的结构:在c语言中为指针结构成员赋值,c,function,C,Function,我定义了一个c函数,需要给通过地址传递到函数中的结构的成员赋值,例如,我定义了一个名为cell的结构: typedef struct AB {int A; char val; }cell; 我编写了一个名为Available的函数,其中单元格通过地址传递到函数中。我需要用用户给定的参数填充单元格中的整数成员A,下面是我的方法 void available(cell *c,int v) { *c.A=v; } 我的问题是我能做到吗?像*c.A=v?通常您会使用箭头操作符: c->A
typedef struct AB
{int A;
char val;
}cell;
我编写了一个名为Available的函数,其中单元格通过地址传递到函数中。我需要用用户给定的参数填充单元格中的整数成员A,下面是我的方法
void available(cell *c,int v)
{ *c.A=v;
}
我的问题是我能做到吗?像*c.A=v?通常您会使用箭头操作符:
c->A = v;
但你也可以这样做:
(*c).A = v;
请注意,在这种情况下,您需要括号来处理运算符优先级。通常您会使用箭头运算符:
c->A = v;
但你也可以这样做:
(*c).A = v;
请注意,在这种情况下,您需要括号来处理运算符优先级。通常您会使用箭头运算符:
c->A = v;
但你也可以这样做:
(*c).A = v;
请注意,在这种情况下,您需要括号来处理运算符优先级。通常您会使用箭头运算符:
c->A = v;
但你也可以这样做:
(*c).A = 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;
}
有效的赋值将如下所示
void available( cell *c, int v )
{
( *c ).A = v;
}
或者
void available( cell *c, int v )
{
c->A = v;
}
有效的赋值将如下所示
void available( cell *c, int v )
{
( *c ).A = v;
}
或者
void available( cell *c, int v )
{
c->A = v;
}
有效的赋值将如下所示
void available( cell *c, int v )
{
( *c ).A = v;
}
或者
void available( cell *c, int v )
{
c->A = v;
}
c->A=v;就像classesRegarding样式一样:对
struct
和typedef
使用相同的标记更加一致:typedef struct cell{…}cell代码>。还可以用动词命名函数,例如set\u available
或cell\u set\u available
,这样代码更容易阅读和理解。也不要使用所有大写的成员或函数名。编辑之后,不清楚可用的函数真正做了什么…@MohamadMisto:我已经回滚了上一次编辑-如果您还有其他问题,请将其作为新问题发布。c->a=v;就像classesRegarding样式一样:对struct
和typedef
使用相同的标记更加一致:typedef struct cell{…}cell代码>。还可以用动词命名函数,例如set\u available
或cell\u set\u available
,这样代码更容易阅读和理解。也不要使用所有大写的成员或函数名。编辑之后,不清楚可用的函数真正做了什么…@MohamadMisto:我已经回滚了上一次编辑-如果您还有其他问题,请将其作为新问题发布。c->a=v;就像classesRegarding样式一样:对struct
和typedef
使用相同的标记更加一致:typedef struct cell{…}cell代码>。还可以用动词命名函数,例如set\u available
或cell\u set\u available
,这样代码更容易阅读和理解。也不要使用所有大写的成员或函数名。编辑之后,不清楚可用的函数真正做了什么…@MohamadMisto:我已经回滚了上一次编辑-如果您还有其他问题,请将其作为新问题发布。c->a=v;就像classesRegarding样式一样:对struct
和typedef
使用相同的标记更加一致:typedef struct cell{…}cell代码>。还可以用动词命名函数,例如set\u available
或cell\u set\u available
,这样代码更容易阅读和理解。也不要使用所有大写的成员或函数名。编辑之后,不清楚可用的函数真正做了什么…@MohamadMisto:我已经回滚了上一次编辑-如果您还有其他问题,请将其作为新问题发布。c->a=v代码>与(*c)相同。A=v代码>或实际上0[c].A=v代码>但仅用于解释目的。只使用代码中的第一个语法:c->A=v
@MohamadMisto:如果你还有一个问题,那么就把它作为一个新问题发布——不要继续编辑超出原来范围的问题。c->a=v代码>与(*c)相同。A=v代码>或实际上0[c].A=v代码>但仅用于解释目的。只使用代码中的第一个语法:c->A=v
@MohamadMisto:如果你还有一个问题,那么就把它作为一个新问题发布——不要继续编辑超出原来范围的问题。c->a=v代码>与(*c)相同。A=v代码>或实际上0[c].A=v代码>但仅用于解释目的。只使用代码中的第一个语法:c->A=v
@MohamadMisto:如果你还有一个问题,那么就把它作为一个新问题发布——不要继续编辑超出原来范围的问题。c->a=v代码>与(*c)相同。A=v代码>或实际上0[c].A=v代码>但仅用于解释目的。只使用代码中的第一个语法:c->A=v
@MohamadMisto:如果你有进一步的问题,请将其作为新问题发布-不要继续编辑超出原始范围的问题。