结构体指针赋值报错

2020-01-15 19:21发布

本帖最后由 Claude 于 2017-10-10 13:42 编辑

typedef struct
{
  int a;
  int b;
}ST;

ST *OO;

ST &OO;//这样写报错


OO->a=10; 只能内存地址  不能对实体赋值

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
20条回答
STT
1楼-- · 2020-01-16 18:19
typedef struct
{
  int a;
  int b;
}ST;

ST *OO;
ST CC;

uint8_t buf[20];

void testFunc(ST *bb)
{
        bb->a=2;
        bb->c=3;
}

int main()
{
        OO=(ST*)buf;
        OO->a=1;
        OO->b=2;
        testFunc(&CC);
}


myrgb
2楼-- · 2020-01-16 18:34
security 发表于 2017-10-9 17:11
你需要去复习 C 语言基础。

可以先去这边:「分享一本经典好书 《高质量C++&C 编程指南》 逢人必荐 终身受 ...


谢谢分享,基础知识得好好学学
Claude
3楼-- · 2020-01-16 21:13
 精彩回答 2  元偷偷看……
Claude
4楼-- · 2020-01-17 00:49
STT 发表于 2017-10-9 17:57
typedef struct
{
  int a;

我懂了 我说C++可以直接取地址数据,C还要给结构体数组空间,这明摆着就是个坑啊
guolun
5楼-- · 2020-01-17 02:35
楼主要引用? ST &OO = OO; 好像名字重了。  
myxiaonia
6楼-- · 2020-01-17 03:12
你把c++的引用拿到c里面了,c中&只有取地址意义,没有引用这种做法

一周热门 更多>