首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么C99要为复杂类型添加关键字?

为什么C99要为复杂类型添加关键字?
EN

Stack Overflow用户
提问于 2014-12-20 21:10:22
回答 1查看 172关注 0票数 0

我发现C99添加了_Complex来支持复杂的算术。然而,我不知道为什么C99为这样一个与字段相关的特性添加了新的关键字(只对科学计算有用)。通过标准库支持复杂类型不是更好吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-20 21:24:44

有关作出此决定的原因,您可以参考C99的基本原理文件:

http://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf

第42页第16-20行改为:

C99的一个新特性:将复杂类型添加到C中,以使C适合通用数值编程并具有吸引力。复杂算法在某些重要的应用领域中得到了广泛的应用。 复杂类型的基本实现是笛卡尔式的,而不是极地式的,其总体效率和与其他编程语言的一致性。该实现被明确地声明,这样就可以简单而明确地定义特征和行为。

因此,它的根本动机似乎是为了使C对数值编程更具“吸引力”或竞争性,如果我没有弄错的话,这个领域仍然是Fortran主导的领域。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27586918

复制
相关文章
为什么不需要为Python对象添加 getter 和 setter
Getter 和 setter在java中被广泛使用。一个好的java编程准则为:将所有属性设置为私有的,同时为属性写getter和setter函数以供外部使用。 这样做的好处是属性的具体实现被隐藏,当未来需要修改时,只需要修改getter 和 setter即可,而不用修改代码中所有引用这个属性的地方。可能做的修改为: 在获取或设置属性时打一条日志 设置属性时,对值对进检查 设置发生时, 修改设置的值 获取属性时,动态地计算值 可谓是好处多多,getter和setter为变量访问提供了灵活的方式。 但pyt
用户2176428
2018/06/27
1.3K0
c99 增加的restrict关键字
c99中新增加了一个类型定义,就是restrict。 restrict的定义是It can be applied only to pointers, and it indicates that a pointer is the sole initial means of accessing a data object. 我不知道确切应该怎么翻译,大意是restrict只对指针有用,它声明一个指针是唯一初始化访问一个数据对象。 比如,按照书上的例子,
一见
2018/08/07
6270
wordpress添加关键字
wordpress自动添加标签为关键字; <?php //判断是否为首页 if ( is_home ()) { $description = "jcomey一个文艺青年的个人博客"; $keyword
2021/11/08
3270
wordpress添加关键字
2023/10/18
1160
(五)给对象添加类型和使用 type 关键字定义可复用的对象类型
#给对象添加类型 let product: { title: string price: number insTock: boolean } = { title: '纯棉 T 恤', price: 99.8, inStock: true } # 使用 type 关键字定义可复用的对象类型 在上一章节中我们定义的类型是直接写死在变量后面的,这样的话有新的对象需要用到要在复制一份 let product: { title: string price
老怪兽
2023/02/22
6780
什么是SSL?为什么要为WordPress网站使用SSL?
的排名。谷歌用来在搜索结果中对网站进行排名的指标之一就是可信度。Google的最大利益就是不要将其用户发送到不安全的网站,因此,可信度在他们的排名算法中占了很大比重。SSL增添了如此多的安全性,这是Google评估网站可信度的重要组成部分。
开心分享
2020/08/06
1.5K0
什么是SSL?为什么要为WordPress网站使用SSL?
「数据架构」:为什么要为MDM构建业务用例?
今天的IT预算主要花在了“保持灯亮”上。事实上,大约70%预算被用于维持和运行现有的能力,而只有30%被用于为业务提供新的功能。企业和IT部门需要找到解决问题的方法,增加现有投资和新投资所创造的价值。最理想的配置IT预算大概是在现有能力上花费55%,在新能力上花费45%为企业创造价值。
架构师研究会
2018/09/21
3960
「数据架构」:为什么要为MDM构建业务用例?
为什么需要为孩子开发专门的语音识别算法
孩子的语音特征,其与成人的不同之处。为什么现在的通用语音识别算法在识别孩子语音的时候表现糟糕,以及Sensory的解决之道 - Sensory VoiceAI for Kids!
用户6026865
2023/03/02
6490
为什么需要为孩子开发专门的语音识别算法
为什么要为AI,IoT和ML采购外国人才
人工智能革命已经进行了一段时间,但这并不意味着所有软件研发都属于其中。尽管如此,它还是推动软件行业前进的有趣例子。
田冠宇
2020/12/25
7890
为什么要了解复杂科学?
昨天,在启发俱乐部上,张江老师给我们上了一堂复杂科学的直播课。内容很多。我今天就分享复杂科学里的一个核心观点:涌现。
石云升
2022/08/25
2220
Hive 复杂数据类型
TINYINT,SMALLINT,INT,BIGINT,BOOLEAN,FLOAT,DOUBLE,STRING,BINARY,TIMESTAMP,DECIMAL,CHAR,VARCHAR,DATE。
大数据老哥
2021/02/04
1K0
Hive 复杂数据类型
ES 复杂类型及其查询
现在需要统计作为为mark,文章内容为Elasticsearch的文档记录,代码如下:
郑小超.
2022/09/23
5270
(C99)复合字面量
#include <stdio.h> struct argvs { char a[64]; int b; }; int pfunc(struct argvs *a) { printf("argvs.a=%s argvs.b=%d\n", a->a, a->b); } int func(struct argvs a) { printf("argvs.a=%s argvs.b=%d\n", a.a, a.b); } int main(int argc, char *arg
用户4645519
2020/09/08
5500
(C99)复合字面量
为什么我要为开源社区做贡献|你也应该这样做
客座文章最初由Sysdig高级软件工程师Marky Jackson(@markyjackson5)在Upshot上发表
CNCF
2020/02/24
7670
TS 类型体操:图解一个复杂高级类型
之前我们零散地了解了一些 TypeScript 类型体操的套路,但是没有综合练习下,今天就来做个高难度的体操,它会综合运用模式匹配、构造、递归等套路,对提升类型编程水平很有帮助。
神说要有光zxg
2022/03/03
5190
TS 类型体操:图解一个复杂高级类型
【C 语言】数据类型本质 ( 数据类型别名 | typedef 关键字 | 为复杂数据类型设置别名 | 为简单数据类型设置别名 )
使用 typedef 关键字为 复杂数据类型 定义别名 : 结构体前面加上 typedef 关键字 , 结构体类型声明最后带上 数据类型别名 ;
韩曙亮
2023/03/29
6080
【C 语言】数据类型本质 ( 数据类型别名 | typedef 关键字 | 为复杂数据类型设置别名 | 为简单数据类型设置别名 )
c99的新功能
在ANSI的标准确立后,C语言的规范在一段时间内没有大的变动,然而C++在自己的标准化创建过程中继续发展壮大。《标准修正案一》在1994年为C语言创建了一个新标准,但是只修正了一些C89标准中的细节和增加更多更广的国际字符集支持。不过,这个标准引出了1999年ISO 9899:1999的发表。它通常被称为C99。C99被ANSI于2000年3月采用。
用户4645519
2020/09/08
4210
为什么都说C++太复杂?
衡量一种语言(广义,不仅限编程语言)是否复杂,我们可以看其单词数量、词性变化以及语法结构。
老九君
2020/06/11
5550
为什么都说C++太复杂?
为匿名类型添加方法
1:这个做法不太常用 2:这个方法要传递两个参数, 打算用扩展方法解决这个问题, 但是扩展方法又不能用在匿名类型上, 有点郁闷 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication8 { class Program { static void Main(string[] args) {
liulun
2022/05/09
3400
TypeScript中的高级类型工具类型及关键字
本文主要帮助理解 TypeScript 中的高级类型及工具类型。在实际使用 TypeScript 的开发过程中,得益于这些高级类型于工具类型,我们可以更方便的构建出我们需要的类型。
路过的那只狗
2020/11/13
2.1K0

相似问题

C99中复杂算法的类型安全性

13

为什么要为包含保护添加__?

13

宏引用结构成员,将本地复杂类型转换为标准C99复杂类型。

12

为什么C99中不包括定点类型?

30

为什么库要为c++关键字创建宏别名?

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文