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)像是缺少东西,不知是什么原因?
急,编译成功后多加积分。非常感谢!
c语言 于struct调用
答案:6 悬赏:0 手机版
解决时间 2021-03-03 15:54
- 提问者网友:末路
- 2021-03-02 21:56
最佳答案
- 五星知识达人网友:鸠书
- 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,浮点型变量。 应注意在括号后的分号是必不可少的。
“结构”是一种构造数据类型,现在一般叫做用户自定义数据类型,它是由若干“成员”组成的。 每一个成员可以是一个基本数据类型或者又是一个构造类型。 结构即是一种“构造”而成的数据类型, 那么在说明和使用之前必须先定义它,也就是构造它。如同在说明和调用函数之前要先定义一样。
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
我是学生,尽量帮你
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯