我在C中有一些带有指针和结构的问题:我有2个结构实体Signal
和指向activeSignal
存储其中一个实体的指针.现在,我想在我的函数中使用这个"存储"实体printParameters()
来打印我的struct的值.不幸的是,我的微控制器显示器打印出一些象形文字而不是我的价值.我不得不承认我并没有完全通过指针算术来查看......
struct SigParameter {
char *name;
int value;
};
struct Signal {
struct SigParameter signalchar;
};
int main(void) {
struct Signal s1;
struct Signal s2;
s1.signalchar.name = "Sinus";
s2.signalchar.name = "Rect";
struct Signal *activeSignal = &s1;
printParameters(activeSignal);
}
void printParameters(struct Signal *s) {
lcdPrintf(0,11,9,"%s", s->signalchar.name);
}
Run Code Online (Sandbox Code Playgroud)
在这里,您的代码中有一些小错误。我相信这些都是拼写错误。
printParameters()
。main()
,调用的函数printParameter()
应该是printParameters()
。struct SigParameter signalchar
struct Signal *activeSignal = &s1;
但是,如果您只想打印该值,我没有看到使用 的逻辑。
您可以检查下面的代码。
#include <stdio.h>
#include <stdlib.h>
struct SigParameter {
char *name;
int value;
};
struct Signal {
struct SigParameter signalchar;
};
void printParameters(struct Signal s);
int main(void) {
struct Signal s1;
struct Signal s2;
s1.signalchar.name = "Sinus";
s2.signalchar.name = "Rect";
printParameters(s2);
return 0;
}
void printParameters(struct Signal s) {
printf("%s\n", s.signalchar.name);
}
Run Code Online (Sandbox Code Playgroud)
我用 simpleprintf()
而不是你的lcdPrintf()
,但效果很好。
输出:
[sourav@broadsword temp]$ ./a.out
矩形
归档时间: |
|
查看次数: |
146 次 |
最近记录: |