ISO C99中的一些扩展(草稿)

一、指定数组初始化
int arry[6] = { [4] = 29, [2] = 15 };   //指定arry[4]=29, arry[2]=15 ,其他的为0


等价于
int arry[6] = { 0, 0, 15, 0, 29, 0 };


类似于注定结构体初始化


二、空结构体,C89标准的结构体不支持空结构体的。。
struct empty {
};


三、C++一样的注释符号 //
四、支持inline类联函数
static inline int
inc (int *a)
{
return (*a)++;
}


__inline__  在一个头文件中使用 __inline__ 声明inline函数,因为ISO C90没有inline,这个时候就会被解释成空,忽略掉他。。。


五、声明时使用变量初始化
foo (float f, float g)
{
float beat_freqs[2] = { f-g, f+g };
/* ... */
}


六、标识符允许添加美元符号
七、老式的函数定义不在支持
/* Old-style function definition.  */
int
isroot (x)   /* ??? lossage here ??? */
uid_t x;
{
return x == 0;
}


八、case语句的范围caselow ...high:
像 case 'A'...'Z':
case 1...5:


九、多了一个转义字符 '\e' ,表示 <ESC>
十、类型转换可以转成union类型
union foo { int i; double d; };
int x;
double y;
union foo u;
/* ... */
u = (union foo) x  ==  u.i = x
u = (union foo) y  ==  u.d = y


十一、变量、函数和类型可以添加属性 __attribute__
十二、数组可以用restrict修饰, 想 arry_name[restrict]
十三、支持复数运算


十四、支持嵌套函数(Nested Functions)
foo (double a, double b)
{
double square (double z) { return z * z; }


return square (a) + square (b);
}


十五、修改了条件运算符
原先的是:
x?x:y;


C99可以写成:
x ? : y;


十六、标签即变量
static void *array[] = { &&foo, &&bar, &&hack };
goto *array[i];
十七、支持变参宏
#define ENABLE_DEBUG 1   //else, comment this line
#ifdef ENABLE_DEBUG
#define DEBUG_LOG(fmt,...) fprintf(stderr, "%s:%d: " fmt "\n",  \
__func__, __LINE__, ## __VA_ARGS__)
#else
#define DEBUG_LOG(fmt, ...) do {} while (0)
#endif






等等。。。。。。。。。。。。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/243692.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PIC32单片机harmony开发环境 - i2c例程和代码分析

开发环境&#xff1a;mplab 3.45 harmony 1.09 xc32 1.42 源代码下载&#xff1a;http://download.csdn.net/detail/zn2857/9712710 http://download.csdn.net/detail/zn2857/9712712 源代码分析&#xff1a;

你有可能错过的东西:IIS7 ULR-Rewrite已经成为正式版本

微软已经基于“Go Live”许可发布了姗姗来迟的IIS 7 URL重写器模块。一般来说&#xff0c;这表示对于产品应用&#xff0c;他们认为这个产品的基础代码已经足够稳定&#xff0c;但在官方理解上它还没有完全成熟。\u0026#xD;\n从这个版本开始&#xff0c;URL编写器与核心模式和用…

SDRAM控制器设计

SDRAM控制器设计 SDRAM 器件引脚示意图和功能框图如下: SDRAM 器件有如下的特性 通常情况下, SDRAM 存储器工作在 3.3V 的电压下(需要注意的是 DDR DRAM工作电压是 2.5V、 DDR2SDRAM 工作电压是 1.8V),拥有一个同步接口, SDRAM 的所有信号都在时钟信号的上升沿被寄存。…

殷墟 太行山 红旗渠

前几天去河南安阳考察&#xff0c;去了商代的遗址——殷墟、林县的红旗渠&#xff0c;还有太行山。 殷墟里的龟背鱼池。  太行山的桃花谷。二龙戏珠。 太行山的瀑布是一绝。 红旗渠。 红旗渠边的喜鹊。

有的事情做得很没有意思,

没有意思。很没有意思。。。。。好吧&#xff0c;继续做事。。。

PIC32单片机harmony开发环境 - SPI例程和代码分析

开发环境&#xff1a;mplab 3.45 harmony 1.09 xc32 1.42 源代码下载&#xff1a;http://download.csdn.net/detail/zn2857/9712711 源代码分析&#xff1a;

MATLAB数据分析

MATLAB数据分析 %求解x^2 - 3x + 1 = 0 的根%方法一: % 求根 % p = [1,-3,1]; % x = roots(p);%绘制图像 % x = -5 : 0.1 : 5; % y1 = x.*x - 3*x + 1; % y2 = zeros(size(x)); % plot(x,y1,x,y2);%方法二 %求根 % f = @(x)x*x - 3*x + 1; % x1 = fzero(f,0.5) %fzero求莫个…

落叶•离愁•鲁九

11月1号上午&#xff0c;送走了广州的林世宾&#xff0c;忽然起风了&#xff0c;枯黄的树叶漫天飞舞&#xff0c;然后落在校园里的石灰路面上滚动摩擦&#xff0c;像是有人在悄悄抽泣。校园静了&#xff0c;教室空了&#xff0c;宿舍凉了&#xff0c;等待着给新来的人腾地方。照…

Misc string test

/** std::string深入详解* Visual Studio 2008Sp1, 使用Ctrl F5启动调试*/ #include <iostream> #include <string> #include <cstdio> #include <cstddef> #include <cstring> #include <cstdlib> //qsort #include <errno.h> …

tiny4412 SDK1312B LED驱动

查看原理图和4412芯片手册&#xff0c;相关寄存器如下&#xff1a; GPM4CON&#xff1a;0x1100 02E0 GPM4DAT&#xff1a;0x1100 02E4

鲁九的有趣照片之一

在火车上也不忘了杀人&#xff0c;各个都想当凶手&#xff0c;当不上的就无聊到假寐&#xff0c;或者睁一只眼闭一只眼&#xff0c;事不关己高高挂起样子。其实凶手只有两个&#xff0c;谁都可以是&#xff0c;谁都可以不是。 喝水也要整齐划一&#xff0c;步调一致。 述强老弟…

RGB 转 YUV 算法

RGB 转 YUV 算法 `timescale 1ns / 1ps /* RGB 转 YUV 算法 计算公式: Y = 0.183R + 0.614G + 0.062B + 16; CB = -0.101R - 0.338G + 0.439B + 128; CR = 0.439R - 0.399G - 0.040B + 128; 其中,时序在计算过程中完全没有用到 输入到输出有三个 clock 的时延。 第一级流水线…

我在河南安阳拍摄的一个山村小孩儿

在河南考察。发现一个可爱的小男孩&#xff0c;于是就摆出架势拍了这一组照片。谁想“螳螂捕蝉黄雀在后”&#xff0c;我的一举一动被述强兄给偷拍下来。他说我的姿势还算专业。 这个小孩很茫然。不知道我在干什么&#xff1f; 哦&#xff0c;原来在照相啊。 突然看见一个小女孩…

通过xshell远程连接ubuntu

sudo apt install openssh-server

multi-byte wide-char

/** C 字符串的一点点转换*/ #include <iostream> #include <string> #include <cstring> #include <cstdlib> #include <clocale> //setlocale #include <Windows.h> #include <WinCon.h> using namespace std; //using namespace …

中值滤波器

中值滤波器 `timescale 1ns / 1ps module median_filtering(input clk,input rst_n,input [15:0] data_in,input data_in_en,input hs_in,input vs_in,output [15:0] data_out,output data_out_en,output hs_out,output vs_out);wire [15:0] line0; wire [15:0] line1; wire […

台湾印象之一:金马奖之夜

本月初赴台北参加由金马影展主席焦雄屏主持的“2008合作制片会议”&#xff0c;并出席了第45届金马奖颁奖典礼。走过红地毯&#xff0c;回首众多明星星光灿烂&#xff0c;鱼贯而入。当晚最耀眼的莫过于李安与舒淇组合。刚一进门就被记者包围&#xff0c;不能挪步。我也凑趣&…

台湾印象之三:吃与喝

梅子餐厅是我吃过的最有味道的小店。老板是一个白净也很有风度的老阿婆。这里的担仔面是一绝。还有炒肝&#xff0c;甜油而不腻&#xff0c;口感极妙。 金马影展主席焦雄屏女士在梅子餐厅宴请我和大为导演&#xff0c;还有几位内地来的女演员和电影官员。 度小月&#xff0c;非…

ubuntu16.04安装CecureCRT 并破解

下载ubuntu16可用的CecureCRT 注册机 下载需要2积分 下载完后执行 tar -xvf scrt-8.1.1.1319.ubuntu16-64.tar.gz $wget http://download.boll.me/securecrt_linux_crack.pl $sudo perl securecrt_linux_crack.pl /usr/bin/SecureCRT [sudo]password for root: crac…

AXI总线协议介绍

AXI总线协议介绍 AXI(Advanced eXtensible Interface)协议是一种面向高性能、高带宽系统设计的总线协议,能够满足各种高速系统的总线协议,能够满足各种高速系统的总线互连。 AXI协议的主要特点有: 独立的地址,控制和数据接口支持使用字节选通的不对齐数据的传输基于特定地…