C99标准中的部分新特性

我有点怀疑我会不会C语言了。

1、变长数组(VLA)

int n = 0;
scanf("%d", &n);
int arr[n];

2、数组初始化

int arr[10] = {[0] = 1, [5] = 6, [9] = 10};
for(int i = 0; i < 10; i++) {
    printf("%d\n", arr[i]);
}

3、结构体初始化

struct Struct {
    int a;
    int b;
    int c;
};
struct Struct test = {.b = 10, .c = 20};
printf("%d %d %d\n", test.a, test.b, test.c);

这些代码在支持C99的编译器都可以通过,也许需要编译参数,比如gcc可能需要“-std=c99”

时间: 2024-10-31 03:20:13

C99标准中的部分新特性的相关文章

GCC和C99标准中inline使用上的不同之处。inline属性在使用的时候,要注意以下两点:inline关键字在G

本文介绍了GCC和C99标准中inline使用上的不同之处.inline属性在使用的时候,要注意以下两点:inline关键字在GCC参考文档中仅有对其使用在函数定义(Definition)上的描述,而没有提到其是否能用于函数声明(Declare). 从 inline的作用来看,其放置于函数声明中应当也是毫无作用的:inline只会影响函数在translation unit(可以简单理解为C源码文件)内的编译行为,只要超出了这个范围inline属性就没有任何作用了.所以inline关键字不应该出现

MVC中的其他新特性

MVC中的其他新特性 (GlobalImport全局导入功能) 默认新建立的MVC程序中,在Views目录下,新增加了一个_GlobalImport.cshtml文件和_ViewStart.cshtml平级,该文件的功能类似于之前Views目录下的web.config文件,之前我们在该文件中经常设置全局导入的命名空间,以避免在每个view文件中重复使用@using xx.xx语句.默认的示例如下: @using BookStore @using Microsoft.Framework.Optio

解读ASP.NET 5 &amp; MVC6系列(17):MVC中的其他新特性

原文:解读ASP.NET 5 & MVC6系列(17):MVC中的其他新特性 (GlobalImport全局导入功能) 默认新建立的MVC程序中,在Views目录下,新增加了一个_GlobalImport.cshtml文件和_ViewStart.cshtml平级,该文件的功能类似于之前Views目录下的web.config文件,之前我们在该文件中经常设置全局导入的命名空间,以避免在每个view文件中重复使用@using xx.xx语句.默认的示例如下: @using BookStore @usi

VS2015 C#6.0 中的那些新特性

? VS2015 C#6.0 中的那些新特性 前言 ? ? ? VS2015在自己机器上确实是装好了,费了老劲了,想来体验一下跨平台的快感,结果被微软狠狠的来了一棒子了,装好了还是没什么用,应该还需要装Xarmain插件,配置一些参数吧,由于这块之前从未接触过,想了想还是先不把时间继续浪费在这里了,于是乎来体验一下新特性了. 本人个人博客原文链接地址为http://aehyok.com/Blog/Detail/66.html. ? ?本文参考http://roslyn.codeplex.com,

Oracle12c中数据泵新特性之功能增强(expdp, impdp)

Oracle12c中数据泵新特性之功能增强(expdp, impdp) Oracle的数据泵功能在10g中被引进.本文对数据泵在12c中的增强做一个概览. 1.   禁用日志选项(DISABLE_ARCHIVE_LOGGING) Impdp的TRANSFORM参数已经扩展为包括DISABLE_ARCHIVE_LOGGING选项.该选项的默认值为 "N",不会影响日志行为.将该选项设置为"Y",这将会使表和索引在导入前将日指属性设置为NOLOGGING,从而导入期间减

HTML5和CSS3中的交互新特性

当文章的标题是一副用photoshop制作的图片,那么势必在搜索引擎中无法搜索到.并且因为图片的体积不算小.可能在网速慢的的时候不得不耐心的等待图片的刷新. 所以.我们来谈谈有没有一种新的方法能够避免这些缺点. 什么是HTML5和CSS3 HTML和CSS并不难理解.HTML为构成网页的主要语言.通过这样的语言.我们能够向计算机说明网页格式.内容.显示效果等等.而CSS则是专门用来控制网页显示效果的语言. HTML 5的新特性 1. 新的内容标签 HTML4中的内容标签级别同样,无法区分各部分内

黑马程序员------Java中jdk1.5新特性

Java培训.Android培训.iOS培训..Net培训.期待与您交流! JDK1.5新特性: 为什么会出现新特性: 新的技术出现是为了解决老的问题,Java语言为了提高开发者的开发效率,对之前的某些不利于提高效率的技术进行改进. 静态导入: 静态导入:可以导入某个类下的静态方法,静态导入后,可以不写类名而直接使用此类下的静态方法. 语法:import static 包名.类名.静态方法 代码示例: package com.itheima.day1; /** * 静态导入 * @author

VS2013中F#的新特性

为了更好的迎接新版本的到来,先看一下之前F#的特性. 1.为区分联合(discriminated unions)添加了命名域,使代码更加清晰. 2.用新数据的新特性,使矢量和矩阵编码更容易的工作 3.更强大的泛型算法的扩展 4.得到更好的调试支持,当你使用F #调试时,调试编译器和解释器选项. 5.当你使用LINQ扩展方法如select时,lambda表达式将使你的代码非常简浩. 6.使用.NET框架4.5.1和Windows商店简化版的库支持. 7.支持同时在当前和以前的版本的VisualSt

SQL Server2012在软件开发中的一些新特性

官方给出了一大堆SQL2012相对于SQL2008R2的新特性,但是大多数对于普通开发人员来说都是浮云,根本用不到,下面就说说一些对于开发人员来说比较有用的新特性. 一.在SQL Server中终于也看到了类似的对象,只是在使用的语法上有一点点不一样.创建语法也是CREATE SEQUENCE,使用的时候需要使用NEXT VALUE FOR来取下一个值: 复制代码代码如下: CREATE SEQUENCE [dbo].[SQ_1]  AS [bigint] START WITH 1 INCREM