c语言 于struct调用

来源:百度知道 编辑:UC知道 时间:2024/06/30 14:02:19
struct函数为:
struct PID
{
signed long vi_Ref;
signed int vi_FeedBack;
signed int vi_PreError;
signed int vi_PreDerror;
signed long v_Kp;
signed int v_Ki;
signed int v_Kd;
signed long vl_PreU;
};
struct PID sPID;
我写到主函数里
main(){
struct PID ;
.....
}
但是不能编译,(提示missing)像是缺少东西,不知是什么原因?
急,编译成功后多加积分。非常感谢!

1、struct在C语言中是一个关键字,用于定义结构数据类型。
  “结构”是一种构造数据类型,现在一般叫做用户自定义数据类型,它是由若干“成员”组成的。 每一个成员可以是一个基本数据类型或者又是一个构造类型。 结构即是一种“构造”而成的数据类型, 那么在说明和使用之前必须先定义它,也就是构造它。如同在说明和调用函数之前要先定义一样。
2、定义一个结构的一般形式为:
struct结构名
{
//成员表列
};
  成员表由若干个成员组成, 每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:“类型说明符 成员名;”。成员名的命名应符合标识符的书写规定。例如:
struct stu
{
int num;
char name[20];
char sex;
float score;
};
  在这个结构定义中,结构名为stu,该结构由4个成员组成。 第一个成员为num,整型变量;第二个成员为name,字符型数组;第三个成员为sex,字符型变量;第四个成员为score,浮点型变量。 应注意在括号后的分号是必不可少的。

struct PID
{
signed long vi_Ref;
signed int vi_FeedBack;
signed int vi_PreError;
signed int vi_PreDerror;
signed long v_Kp;
signed int v_Ki;
signed int v_Kd;
signed long vl_PreU;
};

这一段是定义类的,写的没有问题;
接下来应该是定义sPID。这里用struct PID sPID是没有问题的就相当于int sPID;
问题是struct PID sPID;这一行已经定义好了sPID,而你之前又定义了PID这个类,所以接下来在main里面只要直接调用就行了,而不需要再struct PID ;
顺带说