2014年12月9日

C99语法之初始化结构体

摘要: C99中中结构体初始化也提供了一个比较奇葩的初始化方式:#include#includestruct MyStruct{ int num; float fl; double db; _Bool b;//c99新增的bool类型 1,0}my1 = { .num = 10,... 阅读全文

posted @ 2014-12-09 22:02 ECN14 阅读(480) 评论(0) 推荐(0) 编辑

C99语法之可变参宏和内联函数

摘要: 可变参宏: 1 #include 2 #include 3 4 #define MYPRINT(...) printf(__VA_ARGS__) 5 6 int main(int argc, char **argv) 7 { 8 MYPRINT("%d,%s", 10, "hello... 阅读全文

posted @ 2014-12-09 21:37 ECN14 阅读(431) 评论(0) 推荐(0) 编辑

C99语法之新增类型_Bool

摘要: 在C99语法中新增加了_Bool 的布尔类型语法,例子如下: 1 #include 2 #include 3 4 int main(int argc, char **argv) 5 { 6 _Bool b; 7 b = 0; 8 printf("%d\n", b); 9... 阅读全文

posted @ 2014-12-09 20:56 ECN14 阅读(533) 评论(0) 推荐(0) 编辑

C99语法之栈上开辟内存

摘要: C/C++中在栈上开辟内存是最常见的,而且只要是在栈上开辟内存都要是固定的,而C99中有种用法相当奇葩int *p = ((int[]){ [0] = 1, [15] = 10 });在栈上分配这么一个空间,其反汇编结果如下: 1 int *p = ((int[]){ [0] = 1, ... 阅读全文

posted @ 2014-12-09 19:07 ECN14 阅读(330) 评论(0) 推荐(0) 编辑

C99语法之按元素下标赋值

摘要: C语言C99标准中出现了一些比较奇葩的语法,比如说使用元素下标的方式了对数组进行初始化这种操作Demo如下: 1 #include 2 #include 3 4 int main(int argc, char **argv) 5 { 6 int arr[] = { [0] = 1, [... 阅读全文

posted @ 2014-12-09 18:44 ECN14 阅读(412) 评论(0) 推荐(0) 编辑

导航