【发布时间】:2015-08-10 06:27:53
【问题描述】:
我有一个结构:
struct K
{
char a[10];
char b[10];
};
我希望将此结构转换为 char* 指针并在 Uart 上打印该值。 Uart 将 char* 指针作为输入。
我的主要功能如下:
void main()
{
struct K x= { "Hello","Pollo"};
struct K *revert;
char *buffer;
buffer = (char *)&x;
revert = (struct K *) buffer;
printf("%s %s", revert->a,revert->b);
}
注意:printf() 不起作用,我使用的是 UART。
当结构指针转换为char * 指针完成后,我想在 UART 上打印缓冲区值。有可能这样做吗?
【问题讨论】:
-
请不要使用
void main。采用标准中定义的入口点之一。 -
@nvoigt 您的说法自相矛盾。标准定义入口点可以实现定义。
-
@this 你意识到“定义的实现”是一件坏事,对吧?
-
@nvoigt 你应该打电话给微软(以及很多很多微控制器公司,它们在编译器中使用 void main )并告诉他们。也许他们会雇用你。另一方面,他们很可能会忽略你荒谬的陈述。 msdn.microsoft.com/en-us/library/windows/desktop/…duckduckgo.com/…#DontBeIgnorant
-
我的荒谬言论导致了跨平台的工作程序。您可以忽略它们,但您不会获得跨平台、符合标准的代码。如果您想减少目标,这是您的选择。
标签: c struct uart char-pointer