文档章节

标准C11中的泛型

wangxuwei
 wangxuwei
发布于 2015/06/14 22:43
字数 108
阅读 354
收藏 4
/*
 *
 *  gcc -std=c11 -o gen1 gen1.c 
 * 
 * */

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define GENERAL_ABS(x)  _Generic((x), int:abs, float:fabsf, double:fabs)(x)


static void GenericTest(void)
{
    printf("int abs: %d\n", GENERAL_ABS(-12));
    printf("float abs: %f\n", GENERAL_ABS(-12.04f));
    printf("double abs: %f\n", GENERAL_ABS(-13.09876));
     
    int a = 10;
    int b = 0, c = 0;
     
    _Generic(a + 0.1f, int:b, float:c, default:b)++;
    printf("b = %d, c = %d\n", b, c);
     
    _Generic(a += 1.1f, int:b, float:c, default:b)++;
    printf("a = %d, b = %d, c = %d\n", a, b, c);
}

 
int main(void)
 
{
   GenericTest();
   return 0;
}

 

© 著作权归作者所有

共有 人打赏支持
wangxuwei
粉丝 25
博文 332
码字总数 115454
作品 0
杭州
其他
私信 提问
c、c++作用域问题&C语言的各种版本:C89,AMD1,C99,C11

突然想到这个问题,循环变量i的作用范围。 标准c语言不能这样定义 编译会失败。 c++中 C语言的各种版本:C89,AMD1,C99,C11 【背景】 之前就知道了有个C90和C99。 后来又在: 【已解决】弄...

mickelfeng
2012/11/04
0
0
C语言自学《一》 ---- 初探C语言

初步了解C语言 C语言是一种功能强大、简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务等等 C语言由一个国际标准定义,目前最新的标准为C11,由于C11标准定义的一些语言元素...

罗眯眯
2014/03/15
0
0
哪里可以找到稍微系统一点的C11标准的资料??

哪里可以找到稍微系统一点的C11标准的资料?? 我在http://en.cppreference.com/w/上找到有C11标准,有些新特性还是比较值得我去了解的。具体可以直接上去看下有什么新特性。可惜就是它的描述...

AdamBC
2012/06/13
563
6
用ECL编译字符游戏的跨平台(Linux/OSX/WINDOWS)可执行文件

用ECL编译字符游戏的跨平台(Linux/OSX/WINDOWS)可执行文件 说明 前面我们用 写了一个代码超简短的字符游戏, 不过每次运行时都需要通过 来加载, 本文介绍一种可以把 代码编译为可执行文件的方...

FreeBlues
2016/01/20
122
15
GCC 4.7相对4.6.x的改进点

原文:http://www.iteye.com/news/24628 针对C的功能改进: 支持ISO C11标准中的更多特性。除了之前的-std=c1x和-std=gnu1x选项外,GCC现在还支持-std=c11和-std=gnu11选项。 针对C++的功能改...

一见蓝天
2013/08/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

全面理解Java内存模型(JMM)及volatile关键字

理解Java内存区域与Java内存模型 Java内存区域 Java虚拟机在运行程序时会把其自动管理的内存划分为以上几个区域,每个区域都有的用途以及创建销毁的时机,其中蓝色部分代表的是所有线程共享的...

亭子happy
11分钟前
1
0
Prometheus监控mysql实例--centos7安装mysql_exporter

目录 概述 环境准备 普罗米修斯简介 mysql安装 mysqld_exporter安装 启动参数列表 概述 prometheus(普罗米修斯) 是一个开源系统监控和报警工具包,许多公司和组织都采用了Prometheus,该项目...

java_龙
17分钟前
3
0
拥有2000家门店,他如何晋升为服装界的新宠?

摘要: —— iwarm3.0加热组件、碳纳米管膜炎、管状石墨结构体...你看到并不是一款高科技电子产品,这是快鱼服饰在这个冬天推出的黑科技产品 - 智能温控羽绒服。 在竞争激烈的服装行业,快鱼...

阿里云云栖社区
19分钟前
2
0
不忘初心 砥砺前行-智和信通2018年年会报道

1月18日,智和信通以“不忘初心 砥砺前行”为主题的2018总结会议暨2019年年会在京召开。年会以总经理李少龙的讲话为开场,充分肯定了全体员工2018年的工作和成绩,并表达了公司产品智和网管平...

智和网管平台
27分钟前
1
0
NGINX api网关

以谁为师
29分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部