Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
指向包含多个c源文件的结构的指针_C_Pointers_Structure_Typedef - Fatal编程技术网

指向包含多个c源文件的结构的指针

指向包含多个c源文件的结构的指针,c,pointers,structure,typedef,C,Pointers,Structure,Typedef,我是c编程的初学者,请原谅我可能犯的任何明显错误。 我的问题-我已经得到了一个头文件和源文件(如下所示)- 校长1.h #ifndef ..... #define ..... typedef struct { int a1,b1; //a's=input and b's=ouput int a2,b2; int a3,b3; int a4,b4; }xx_xx; int xxcalc(xx_xx *y); endif; 资料来源c #define "heade

我是c编程的初学者,请原谅我可能犯的任何明显错误。 我的问题-我已经得到了一个头文件和源文件(如下所示)-

校长1.h

#ifndef .....
#define .....

typedef struct
{
    int a1,b1; //a's=input and b's=ouput
    int a2,b2;
    int a3,b3;
    int a4,b4;
}xx_xx;
int xxcalc(xx_xx *y);
endif;
资料来源c

#define "header1.h"
#define <stdio.h>
int xxcalc(xx_xx *y)
{
    y->b1 = 2 * a1;
    y->b2 = 3 * a2 + a1;
    y->b3 = a3 + 7;
    y->b4 = a4 / 3;
    return 1;
}
#定义“header1.h”
#定义
整数xxcalc(xx_xx*y)
{
y->b1=2*a1;
y->b2=3*a2+a1;
y->b3=a3+7;
y->b4=a4/3;
返回1;
}
现在我需要编写一个主源文件,然后使用msp430微控制器通过计算表达式找到结果。我正在使用CodeComposer studio来完成这项工作

main.c

#define "header1.h"
#define <stdio.h>
// few lines of code to disable watchdog timer
void main()
{
    int data1[10],r;
    y = &data1;
    y->a1 = 2;
    y->a2 = 3;
    y->a3 = 4;
    y->a4 = 5;
    r = b1 * b2 + b3 + b4;
}
#定义“header1.h”
#定义
//禁用看门狗定时器的几行代码
void main()
{
int data1[10],r;
y=&data1;
y->a1=2;
y->a2=3;
y->a3=4;
y->a4=5;
r=b1*b2+b3+b4;
}
现在,当我编译它并检查寄存器时,没有考虑我的任何输入,在它的位置上有垃圾值。 我做错了什么?
输入输入和访问结构中声明的输出变量值的方法正确吗?

首先,您需要声明结构的一个变量以访问其成员。大概是这样的:

xx_xx y; 
其次,您尝试分配
y=&data1
,其中data1考虑到您的代码是一个10个整数的数组,y是xx_xx类型。我想这是不对的

请发布更多信息,以便我能帮助您。
谢谢

您在哪里定义了在
main
中使用的变量
y
?我可能错了,但是
header1.h
中似乎有输入错误。请粘贴准确的代码,以保存对拼写是否正确的查询。。。。而且
xxcalc(xx_xx*y)
中的
a1
不应该是
y->a1
,等等。“当我编译这个”时,你不可能编译代码片段,即使它们是更大代码体的一部分。