error: #77-D: this declaration has no storage class or type specifier

在使用Keil编写程序时,无意间发现一个特别简单也是特别容易忽略的问题,编译报错如下:

error:  #77-D: this declaration has no storage class or type specifier

按照错误指向,发现了对应的程序行非常简单,(真实的程序是先定义结构体,然后再对结构体进行赋值),这里等效简化,程序如下:

//////////////

int a;

a = 1;

/////////////

然后就发现出现了文章开头的错误,经过调试才知道:“对变量的赋值一般不能放到函数外,只有在定义全局变量时的初始化才被允许!

所以如果一定要在函数外定义变量,要么就不要赋值定义(在函数内定义),要么就在声明后立刻定义,对于本例,可以修改成如下:
int a=1;    这样就不会报错。

文章来源:http://blog.csdn.net/u012351051/article/details/50132125
posted @ 2017-10-09 16:40  骄阳红枫  阅读(2843)  评论(0编辑  收藏  举报