永发信息网

c语言 于struct调用

答案:6  悬赏:0  手机版
解决时间 2021-03-03 15:54
  • 提问者网友:末路
  • 2021-03-02 21:56
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)像是缺少东西,不知是什么原因?
急,编译成功后多加积分。非常感谢!
最佳答案
  • 五星知识达人网友:鸠书
  • 2021-03-02 22:13
1、struct在C语言中是一个关键字,用于定义结构数据类型。
  “结构”是一种构造数据类型,现在一般叫做用户自定义数据类型,它是由若干“成员”组成的。 每一个成员可以是一个基本数据类型或者又是一个构造类型。 结构即是一种“构造”而成的数据类型, 那么在说明和使用之前必须先定义它,也就是构造它。如同在说明和调用函数之前要先定义一样。
2、定义一个结构的一般形式为:
struct结构名
{
//成员表列
};
  成员表由若干个成员组成, 每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:“类型说明符 成员名;”。成员名的命名应符合标识符的书写规定。例如:
struct stu
{
int num;
char name[20];
char sex;
float score;
};
  在这个结构定义中,结构名为stu,该结构由4个成员组成。 第一个成员为num,整型变量;第二个成员为name,字符型数组;第三个成员为sex,字符型变量;第四个成员为score,浮点型变量。 应注意在括号后的分号是必不可少的。
全部回答
  • 1楼网友:旧脸谱
  • 2021-03-03 03:43
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 i; //在这加个结构体变量 }
  • 2楼网友:等灯
  • 2021-03-03 03:33
main(){ struct PID ; //注 ..... } 注: 这个语句什么意思, 你是不是想声明一个结构体变量? 那应该是: PID XX; //XX是变量名 例如: PID sPID;
  • 3楼网友:走死在岁月里
  • 2021-03-03 01:56
你的是在什么编译环境下面呀?我在VC6.0下面没有错误呀,不过你的main函数里面的那个struct PID;这句话好像没有什么用呀,他们两个连在一起就相当于一个int,写这句没什么用。 在c语言中struct 是个定义的关键字,要用在声明变量的时候,要把用struct定义的那个类型带着一起,也就是说struct PID连用才是一个类型的名字。不象C++不用带struct,c必须带。
  • 4楼网友:神的生死簿
  • 2021-03-03 00:45
typedef struct PID sPID; main() { sPID st; } 上面不算, 我测试过,没有报错啊
  • 5楼网友:七十二街
  • 2021-03-02 23:15
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 ; 顺带说一句,调用的方法是: sPID.v_Ki这样的。直接作为一个signed int; 不懂可以再联系:QQ328880142 我是学生,尽量帮你
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯