Visual Studio 2010编译C代码

时间:2010-06-06 19:14:49

标签: c visual-studio-2010

我有以下代码段。这是visual studio 2010中的一个c文件。如果我尝试使用以下行编译它: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();

3 个答案:

答案 0 :(得分:17)

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

MSVC 2010仍然不支持C99。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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