我是靠谱客的博主 会撒娇雪碧,最近开发中收集的这篇文章主要介绍VC编译C代码时错误“ syntax error : missing ';' before 'type' ”,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前几天看C的多级指针,写一段代码,在编译时总报错 ——syntax error : missing ';' before 'type',以为是编译器的问题,今天下了专业版的,打了sp6补丁,可依然报错,最终将代码简写如下
#include<stdio.h>

int main(void)
{
        int i = 10;
        printf("i_address is %#xn", &i);

        int * p = &i;
        printf("p_address is %#xn", p);

return 0;
}
依然报错,上网查资料终于有了合理的解释以及解决办法

原因:
                在vc中如果不刻意的写出文件的后缀名,是按*.cpp编译的,所以一方面原因就是我将文件保存成了 *.c 格式,如果是 *.cpp 格式就能正常编译。
                其根本原因在于 ——ANSI C 或者 C++中,在可执行代码中随时定义变量是允许的,但是在K&R C中是不允许的,VC6.0 、VS2008 都是用的 K&R C 来实现 C语言的, 因此编译过程中会报错。

解决办法:
                把所有变量的声明和定义放在可执行代码之前。
即:
#include<stdio.h>

int main(void)
{
        int i = 10;
        int * p = &i;

        printf("i_address is %#xn", &i);      
        printf("p_address is %#xn", p);

return 0;
}
最后,想起了最近老师让了解了linux,linux下的gcc是可以编译通过的……



最后

以上就是会撒娇雪碧为你收集整理的VC编译C代码时错误“ syntax error : missing ';' before 'type' ”的全部内容,希望文章能够帮你解决VC编译C代码时错误“ syntax error : missing ';' before 'type' ”所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部