打印
[STM32F1]

keil中的结构体问题

[复制链接]
3140|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ast145|  楼主 | 2015-10-13 18:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
typedef struct 
{
         float kp;
         float ki;
         float kd;
}camera_pid;
camera_pid pos_pid;

对于上述的结构体,接下来写
pos_pid.kp = 1.0;
系统一直提示:unkown type name of 'pos_pid'

但我接下来在一个函数中定义却没有问题,比如:
void fun (void)
{
pos_pid.kp = 1.0;
}
却不会报错,不知道什么原因,请教下大家
沙发
734774645| | 2015-10-13 18:16 | 只看该作者
楼主你太有才了,你弄错了,应该加struct 、

使用特权

评论回复
评论
perry_peng 2015-10-15 09:09 回复TA
用过typedef 不需要再加 struct 
板凳
734774645| | 2015-10-13 18:17 | 只看该作者
typedef struct
{
         float kp;
         float ki;
         float kd;
}camera_pid;
struct camera_pid pos_pid;

这个样子就行了。
-------------------------例如:
struct stuff{
        char job[20];
        int age;
        float height;
};
struct stuff Huqinwei;

使用特权

评论回复
地板
ast145|  楼主 | 2015-10-13 18:58 | 只看该作者
734774645 发表于 2015-10-13 18:17
typedef struct
{
         float kp;

没用的,我试过,structs可心省略的

使用特权

评论回复
5
walnutcy| | 2015-10-13 20:51 | 只看该作者
结构体全局变量要用另一种方式写

使用特权

评论回复
6
walnutcy| | 2015-10-13 20:52 | 只看该作者
你试试定义的时候用{}初始化

使用特权

评论回复
7
程序猿_攻城狮| | 2015-10-13 23:21 | 只看该作者
呵呵,楼主!你直接在函数外赋值吗??pos_pid.kp = 1.0;
函数外部不能赋值吧!!要不就在定义的时候初始化,比如camera_pid pos_pid={0,0,0};

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
ast145 + 1 很给力!
8
冰零分子| | 2015-10-14 10:40 | 只看该作者
第一个赋值是在函数外面了

使用特权

评论回复
9
泰山特曲123| | 2015-10-14 12:51 | 只看该作者
变量只能才定义的时候初始化,不能单独在函数体外用另外的语句初始化

使用特权

评论回复
10
justtest111| | 2015-10-14 14:20 | 只看该作者
结构体只能在定义的时候直接初始化或者在函数内部重新赋值啊。你写在函数外面不行啊。

使用特权

评论回复
11
就做你的小二| | 2015-10-14 15:29 | 只看该作者
函数是程序的基本单位噢

使用特权

评论回复
12
就做你的小二| | 2015-10-14 15:30 | 只看该作者
函数是程序的基本单位噢

使用特权

评论回复
13
就做你的小二| | 2015-10-14 15:31 | 只看该作者
函数是程序的基本单位噢

使用特权

评论回复
14
styleno1| | 2015-10-14 16:07 | 只看该作者
还能这么写,谢楼主分享

使用特权

评论回复
15
风清扬mxz| | 2015-10-14 17:06 | 只看该作者
styleno1 发表于 2015-10-14 16:07
还能这么写,谢楼主分享

你不要骗楼猪,楼猪也是读过小学的人

使用特权

评论回复
16
戈卫东| | 2015-10-14 21:10 | 只看该作者
你可能是想初始化那个结构体,但你的方法不正确

使用特权

评论回复
17
戈卫东| | 2015-10-14 21:12 | 只看该作者
struct camera_pid pos_pid ={1.0,1.0,1.0};
初始化必须在定义它的时候写

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

27

帖子

0

粉丝