文档章节

标准C11中的泛型

wangxuwei
 wangxuwei
发布于 2015/06/14 22:43
字数 108
阅读 351
收藏 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
用ECL编译字符游戏的跨平台(Linux/OSX/WINDOWS)可执行文件

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

FreeBlues
2016/01/20
122
15
哪里可以找到稍微系统一点的C11标准的资料??

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

AdamBC
2012/06/13
547
6
cocos2d-x工程中,让xcode4.6能够使用C++11标准库

在Cocos2d-x的开发中,如果你使用的xcode4.6,有时候希望使用C++11标准库的东西,比如std::array,如果直接, include 将会出现无法找到array的问题。 这个时候我们就要对我们的xcode进行一下...

laiconglin
2013/11/07
0
4

没有更多内容

加载失败,请刷新页面

加载更多

Java 源代码和 C 源代码的运行区别

与其他程序的执行方式和编译方式不同。 Java 源代码需要进行编译成字节码后在 Java 虚拟机上运行,这样 Java 程序能够保持独立性和跨平台功特性。 请参考下图。 https://www.cwiki.us/pages...

honeymose
今天
4
0
Apache限定目录解析PHP,限制user_agent,PHP相关的配置

Apache限定目录解析PHP 配置前访问upload/index.php [root@test-a ~]# curl -x192.168.77.139:80 'www.test.com/upload/index.php'This is upload diretory 配置,/usr/local/apache2.4/......

野雪球
今天
5
0
java.util.Concurrent.Exchanger源码

类图 源码: package java.util.concurrent;import java.util.concurrent.atomic.AtomicInteger;import java.util.concurrent.atomic.AtomicReference;import java.util.concurrent......

狼王黄师傅
今天
6
0
Kubernetes里的secret最基本的用法

Secret解决了密码、token、密钥等敏感数据的配置问题,使用Secret可以避免把这些敏感数据以明文的形式暴露到镜像或者Pod Spec中。 Secret可以以Volume或者环境变量的方式使用。 使用如下命令...

JerryWang_SAP
昨天
5
0
2018-11-20学习笔记

1. python数据类型: 给变量赋值什么样的值,变量就是什么样的类型 给变量赋值整数,变量就是整数类型 给变量赋值字符串,变量就是字符串类型 123 和“123”一样吗? 在python中 单引号 与双...

laoba
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部