• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

结构体指针成员的赋值问题

代人凌峰 2019-04-01 浏览量:716

假设一个结构体变量 

struct demo

{

 int a;

 int b;

}


demo demo1;

demo *demoP = &demo1;

demoP->a = 5;


那么demo1.a = ?

我试了一下是0,为什么?还是我试错了?


(修改后的,上次给写错了,谢谢各位指出)

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 你这里的程序编译是会出错的,应该改为typedef struct{ int a; int b;}demo;


    按照改过的程序,这里的运行结果就是demo1.a=5


    • 发布于 2019-04-02
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:3
  • 是写错了还是?demo.a=?demo仅是一个结构体类型名,不是一个变量啊?编译能过?应该是demo1.a啊....
    • 发布于2019-04-02
    • 举报
    • 评论 1
    • 2
    • 0
代人凌峰 回复了 沃尔夫斯堡的羊 :写错了,是demo1.a 手写的,编译的是另一个程序,太大了,贴不上来 回复

  • 最下面一行demo.a应该改成demo1.a,可能是你不小心写错了,不然你的 demo1就没有意义了
    • 发布于2019-04-02
    • 举报
    • 评论 0
    • 1
    • 0

  • demo本身就是一个结构体声明,不是变量,你的用法就不对啊。

    是不是想说的是demo1.a 如果按你的前面的说法,确实应该是=5的。

    • 发布于2019-04-02
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

结构体指针成员的赋值问题