Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 访问嵌套结构的字段_C_Struct - Fatal编程技术网

C 访问嵌套结构的字段

C 访问嵌套结构的字段,c,struct,C,Struct,如何使用指针var3ptr访问结构A的变量 谢谢 Naveen如果你的意思是直接进入内部变量,那么 struct new { struct A var1 ; struct B var2 ; }; struct new var3 ; struct new *var3ptr ; var3ptr = &var3 ; //assign the address to poin

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

谢谢
Naveen

如果你的意思是直接进入内部变量,那么

  struct    new
  {
  struct     A     var1 ;
  struct     B     var2 ;
  };


  struct     new      var3 ;
  struct     new     *var3ptr ;

  var3ptr    =    &var3  ; //assign the address to pointer.
例如,如果

var3ptr->var1;
var3ptr->var2;
那你就可以了

struct     A
{
    int x;
};

struct     B
{
    int y;
};
不能使用“new”作为结构的名称。它已经是C++语言的一部分。您上面的代码无法编译。@JoséX.在C语言中,单词
new
不是保留的。它可以用作标识符。注意问题的标记包括
c
struct
,但不包括
c++
。但是,如果代码有可能合并到
c++
项目中,则不建议使用“new”。
printf("%d", var3ptr->var1.x);
printf("%d", var3ptr->var2.y);