C89与C99

C99增加:

inline

restrict

_Complex

_Imaginary

long long int 和 unsigned long long int

行注释 //

for 内变量声明

预处理程序-变元表 

#define MyMax(...) max(__VA_ARGS__)

声明放在代码块的任何位置


其他:

变长数组(vs2012不支持)

柔性数组结构成员

指定的初始化符 int arrayFoo[10] = {[0] = 123, [3] =43443}; //VS2012不支持

struct MyStruct{
	       int a, b, c;
	} myStructFoo = {.a = 10, .b = 11}; //VS2012不支持

C89与C99_第1张图片

__func__ 当前函数名 VS2012不支持 GCC未知 VS2012中有 __FUNCTIONW__  但输出只有第一个字符 

C89的 __line__ 和 __file__

放宽的转换限制

不支持隐含int!

非void类型函数必须返回值

C89与C99_第2张图片

你可能感兴趣的:(c,gcc,vs2012)