Visual Studio 2010编译C代码

我有以下代码片段。 这是visual studio 2010中的ac文件。如果我尝试使用以下行编译它:int hello = 10; 注释掉它会编译得很好。 如果我评论它中的那一行将无法编译。 我错过了什么,或者我不应该使用Visual Studio 2010来编译C代码。 如果这是一个Visual Studio问题,任何人都可以推荐一个易于使用的IDE /编译器,我可以为C.

谢谢

int* x = (int*) calloc(1, sizeof(int)); *x = 5; //int hello = 10; printf("Hello World! %i", *x); getchar(); 

与C99或C ++不同,在C89中的非声明(如*x = 5; )之后,您不能有声明(如int hello = 10; )。

MSVC 2010仍然不支持C99。

你仍然可以在编码后声明变量。 只需将“yourProject.c”文件更改为“yourProject.cpp”即可正常工作。

在C中进行类型转换malloc返回指针是一种不好的做法,并且具有未定义的结果。