错误:'st'之前的预期表达式

时间:2015-10-07 04:13:24

标签: c struct

我在C中尝试了这个简单的结构程序但是在编译时,我在3个地方(第17,20和22行)得到了以下错误。我仔细检查了代码,却找不到错误。我哪里错了?

注意:如果我将结构声明和typedef语句放在main()函数中,我会得到相同的错误。

<a href="httP://..." onclick="focusOnPage()" />
<script type="text/javascript">
 function focusOnPage()
 {
   var papers=document.getElementById('someid');
   papers.style.Display='';
   papers.scrollIntoView();
 }

3 个答案:

答案 0 :(得分:2)

st是对象的类型,如intchar等。它不是变量的名称。

试试这个:

#include <stdio.h>
#include <stdlib.h>

struct my_struct
{
    int a;
    int b;
};

typedef struct my_struct st;

int main()
{
    st str;

    printf("Enterting values into the structure.\n");

    printf("Enter value of a:\n"); 
    scanf("%d",&str.a); 

    printf("Enter value of b:\n");
    scanf("%d",&str.b);

    printf("Values of a is: %d.\nValue of b is: %d.\n",str.a,str.b);
}

答案 1 :(得分:1)

st是一种对象类型。在main里面声明了一个结构变量 -

 st st1;

然后用它来访问成员。

void main() - &gt; int main(void)int main(int argc,char ** argv)

答案 2 :(得分:1)

您定义了一个struct和一个typedef。

但你从未声明过struct的实例。

作为建议,只需删除&#39; typedef&#39;,

然后修复main()函数声明