OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4368|回复: 6

Keil 编译器 指向结构体指针有错

[复制链接]

36

主题

87

帖子

0

精华

高级会员

Rank: 4

积分
515
金钱
515
注册时间
2015-8-3
在线时间
142 小时
发表于 2017-3-23 09:20:19 | 显示全部楼层 |阅读模式
3金钱
微信截图_20170323091414.png 在KEIL 5写了一个类似这样的结构体指针应用,但是编译器提示出错。WHY?

最佳答案

查看完整内容[请看2#楼]

两个问题 一是POINTER是个变量类型,不可作为操作数,你需要先用POINTER定义一个变量再操作. 二是类型不匹配嘛,当然出错 改成 [mw_shl_code=c,true]NUM num; POINTER ptr = # for(i=0; i
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

277

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1522
金钱
1522
注册时间
2014-5-16
在线时间
217 小时
发表于 2017-3-23 09:20:20 | 显示全部楼层
本帖最后由 zmingwang 于 2017-3-27 18:06 编辑

两个问题
一是POINTER是个变量类型,不可作为操作数,你需要先用POINTER定义一个变量再操作.
二是类型不匹配嘛,当然出错
改成
[mw_shl_code=c,true]NUM num;
POINTER ptr = #
for(i=0; i<2; i++)
{
    *(((int*)ptr)+i) = data;
}[/mw_shl_code]

话说这样写真的是没有问题
回复

使用道具 举报

36

主题

87

帖子

0

精华

高级会员

Rank: 4

积分
515
金钱
515
注册时间
2015-8-3
在线时间
142 小时
 楼主| 发表于 2017-3-23 09:41:03 | 显示全部楼层
我想把数组的数据赋值给结构体的成员
回复

使用道具 举报

39

主题

234

帖子

0

精华

高级会员

Rank: 4

积分
630
金钱
630
注册时间
2016-8-25
在线时间
57 小时
发表于 2017-3-23 10:13:36 | 显示全部楼层
for(i=0;i<2;i++)
{
NUM->aa=data[i/2];
NUM->bb=data[i%2];
}
回复

使用道具 举报

19

主题

107

帖子

0

精华

初级会员

Rank: 2

积分
195
金钱
195
注册时间
2015-3-5
在线时间
44 小时
发表于 2017-3-27 13:58:18 | 显示全部楼层
c语言没学好,跟keil没关系
回复

使用道具 举报

8

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
273
金钱
273
注册时间
2016-12-30
在线时间
37 小时
发表于 2017-3-27 17:27:13 | 显示全部楼层
yklstudent 发表于 2017-3-23 13:31
基础需要补补了,你引用的也不是结构体指针变量啊
把typedef去掉再说

啥?没看明白。。。。
回复

使用道具 举报

0

主题

0

帖子

0

精华

新手入门

积分
1
金钱
1
注册时间
2020-5-5
在线时间
0 小时
发表于 2017-3-27 17:27:32 | 显示全部楼层
要先让结构体指针指向一个结构体变量     相当与指针先有指向,后在赋值
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-18 20:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表