c/c++语言开发共享如何在C中的Struct变量中访问指针成员?

我不是C的新手,但我发现了一个我必须处理的问题。 如何访问作为指向另一个结构的指针的结构的成员?

恩。

typdef struct { int points; } tribute; typedef struct { int year; tribute *victor; } game; int main(){ tribute myVictor; myVictor.points = 10; game myGame; myGame.year = 1994; // Runs fine myGame.victor = myVictor; // I want to point the victor member of the game struct to //myVictor object... But it gives me an error } 

我怎么能纠正这个? 我知道我应该将myGame变量作为指针…但我问我是否可以在普通的struct变量中执行此操作。

    尝试:

     myGame.victor = &myVictor; 

    这个问题与结构本身无关。 您只是尝试将数据变量复制到指针中,该指针无效。 而不是myGame.victor = myVictor; ,让myGame.victor指向myVictor的地址

    myGame.victor = &myVictor;

    如果要指向胜利者成员,则应传递胜利者指针(地址,记忆方向……)。

    所以,它应该是:

     myGame.victor = &myVictor; 

     typdef struct { int points; } tribute; typedef struct { int year; tribute *victor; } game; int main(){ tribute myVictor; myVictor.points = 10; game myGame; myGame.year = 1994; myGame.victor = &myVictor; } 

    这里victor是一个tributepointer所以你需要提供myvictor address所以你的代码的最后一行错误是正确的

    在最后一行更改为: myGame.victor=&myVictor

    游戏结构的胜利者是指针。 所以你应该分配myVictor的地址。 像这样的东西:

    需要了解更多c/c++开发分享如何在C中的Struct变量中访问指针成员?,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!

     myGame.victor = &myVictor; printf("Points is: %d",myGame.victor->points); 

      以上就是c/c++开发分享如何在C中的Struct变量中访问指针成员?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/979131.html

      (0)
      上一篇 2021年12月12日
      下一篇 2021年12月12日

      精彩推荐