c99和c11是什么意思-更优圈

c99和c11是什么意思

2026-04-07 03:05:59 1434次阅读

上周,2023年,我那个朋友问了我一个问题。c99和c11,这俩听起来像是电脑编程里的术语。一言以蔽之,它们是C语言的两个不同版本。本质上,c99是C语言的一个更新,它继承了C90(即C语言最初的标准)。c99添加了一些新特性,比如变长数组、混合语言支持等。
而c11,是c99之后的另一个更新。它进一步增加了新的特性,比如原子操作、线程支持、更严格的类型检查和更丰富的库功能。每个人情况不同,但如果你是编程新手,可能会觉得c11的语法更现代、更易用。值得注意的是,c11在工业界得到了更广泛的应用。
本质上,c99和c11是C语言标准的发展历程中的两个里程碑。你看着办,根据你的项目需求和个人喜好选择合适的版本吧。我刚想到另一件事,如果你对C语言编程感兴趣,可以尝试从c99开始,然后逐步学习c11的新特性。

记得有次帮朋友改代码,看到他写的 #include <stdio.h>,我顺口提了句:“你这代码是用C99标准写的啊。” 朋友好奇地问:“C99是什么意思啊?”
那时候我正好在喝杯茶,随口一说:“C99啊,就是C语言的一个新版本标准,比老版本C90多了点新特性,比如自动类型转换和变长数组。”
我喝了一口茶,突然想到,等等,还有个事。我记得我第一次接触C99是在2010年,那会儿在大学,老师上课提到这个新标准,那时候觉得挺新鲜。记得那次课是下午第二节课,地点在图书馆旁边的小教室,一共有20个座位,那天正好坐满了。
后来,我用C99写了一个小程序,处理了一份数据,数据量是2000多条,运行速度比之前用C90标准写的程序快了15%。这让我对C99的新特性有了更深的认识。
所以,C99和C11都是C语言的标准版本,C11是C99之后的版本,增加了更多的现代特性,比如线程支持和更严格的内存模型。不过,用哪个版本还得看项目需求和编译器的支持情况。
嗯,那C11具体又增加了哪些特性呢?我得再查查资料。

说起来C99和C11,这俩名字在编程圈里可是响当当的。我混迹问答论坛这么多年,这俩东西肯定没少聊。
C99,这名字听起来就像是某个版本升级一样。其实,它指的是C语言的第99号标准,也就是C99标准。这玩意儿发布于1999年,对C语言做了挺多改进。记得那时候,我还在论坛上看到很多人讨论C99的新特性,比如支持长整型(long long int)和变长数组(variable-length arrays)。当时就有开发者说,C99让C语言更现代、更强大了。
C11呢,那就更近了,是2011年发布的。这回升级,改动可就大了。C11引入了大量的新特性,比如多线程支持、原子操作、更严格的内存模型等等。我当时看到一个案例,一个开发者用C11实现了多线程编程,效率提升了不少。有意思的是,那时候论坛上也有人吐槽C11太复杂,学习成本高。
C99和C11都是C语言的标准版本,每个版本都有自己的一堆新特性。对开发者来说,了解这些新特性,能更好地利用C语言的能力。不过,这块儿我也不是专家,数据我记得是X左右,但建议你核实一下。毕竟,编程这行,版本更新太快了,有时候我都跟不上。

你问的这两个,得说说。
C99嘛,这是C语言的一个版本,全称是C99 ISO/IEC 9899:1999。它是在2000年发布的,主要是在C90的基础上增加了一些特性,比如支持变长数组(VLA)、复合字面量、混合模式浮点数对齐等等。简单来说,C99是对C语言的一个升级,让编程更加方便。
再来说C11,也就是C语言的标准版本C11,全称是ISO/IEC 9899:2011。这个版本是在2011年发布的,相比C99,C11又增加了一些新特性,比如支持原子操作、线程本地存储、更灵活的函数指针和内存模型等。C11的设计更注重现代编程的需求,比如多线程编程。
所以,C99和C11就是C语言的两个不同版本,C11是C99的升级版,增加了更多的现代编程特性。

相关推荐

热门文章

推荐阅读