我对程序编程非常陌生,所以我不确定我的代码是坏的还是在Visual Studio中做错了。用gcc编译的代码不会在visual studio 2012编译
所以我有这样的代码应该打印一个整数,打印它在内存中的位置,通过内存更改它的值,然后打印新的整数以及它在内存中的位置。
它编译和运行良好,通过cmd与gcc,但不是在Visual Studio中。
#include <stdio.h>
int main(){
int a = 4;
printf("Integer is: %d\n", a);
printf("Integer is stored at: %p in memory\n", a);
int *pointer = &a;
*pointer = 3;
printf("Integer is now: %d at %p in memory\n",a,*pointer);
getchar();
return 0;
}
视觉工作室给了我这些错误,当我尝试编译并运行:
9号线:错误C2065: '指针':未声明的标识符
9号线:错误C2100:非法间接
线11:错误C2065:指针':未声明的标识符
线11:错误C2100 :非法间接
所以你说的是,C的两个不同版本是不同的?没有一个“C”......有几个不同的版本/迭代规格,每个版本都有自己的功能。 –
这可能有所帮助:http://stackoverflow.com/questions/14376511/cannot-declare-variable-at-all-with-windows-driver-kit-build-environment/14377441#14377441 – hmjd
Visual Studio可能是抱怨你'不要遵循ANSI C标准:你不能在任何语句下面声明任何新的变量。如果你想,切换到C99或C++。 – Orwell