【问题标题】:Accessing fields of nested structures访问嵌套结构的字段
【发布时间】:2013-08-25 20:59:38
【问题描述】:
  struct    new
  {
  struct     A     var1 ;
  struct     B     var2 ;
  };


  struct     new      var3 ;
  struct     new     *var3ptr ;

  var3ptr    =    &var3  ; //assign the address to pointer.

如何使用指针 var3ptr 访问结构 A 的变量。

谢谢 纳文

【问题讨论】:

  • 您不能使用“new”作为结构名称。它已经是 C++ 语言的一部分。你上面的代码不会编译。
  • @JoséX。在 C 中,new 一词未被保留。它可以用作标识符。注意问题的标签包括cstruct,但不包括c++。但是,如果代码有机会被合并到c++ 项目中,则不建议使用“new”。

标签: c struct


【解决方案1】:

如果你的意思是去内部变量然后

var3ptr->var1;
var3ptr->var2;

例如如果

struct     A
{
    int x;
};

struct     B
{
    int y;
};

那你就可以了

printf("%d", var3ptr->var1.x);
printf("%d", var3ptr->var2.y);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 2017-02-19
    • 2021-09-15
    • 2019-06-24
    • 2021-04-03
    • 1970-01-01
    相关资源
    最近更新 更多