我是c编程的初学者,请原谅我可能犯的任何明显错误。 我的问题 - 我已经给了我一个标题和源文件(如下所示) -
那么header1.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;
由source.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;
}
现在我需要编写一个主源文件,然后通过使用msp430微控制器计算表达式来查找结果。我正在使用code composer 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;
}
现在当我编译它并检查寄存器时,我的输入都没有被考虑,并且它的位置有垃圾值。 我究竟做错了什么? 我输入输入和访问结构中声明的输出变量值的方法是否正确?
答案 0 :(得分:0)
首先你需要声明struct的变量才能访问它的成员。像这样:
xx_xx y;
其次,您尝试分配y = &data1
,其中data1考虑您的代码是10个整数的数组,y是xx_xx类型。我能想到的任何方式都是错的。
请发布更多信息,以便我可以帮助您。 谢谢 。