X巨集
X巨集(X macros)是编程语言巨集裡的經典用法,可以產生類似列表的資料結構或是程式結構,常用在列表中部份內容無法用indexing合成的情形(例如在编译期就要產生)。若要維護列表,其對應項需要以相同的順序聲明或執行,可以用X巨集可靠的維護此部份程式。 這類列表的例如包括陣列的初始化(與枚舉常數和函數原型的聲明一起),敘述序列和switch語句的生成等。 X巨集的使用可以追溯到1960年代,在現今的C语言和C++語言中仍可使用,但和…
共 38 篇文章
X巨集(X macros)是编程语言巨集裡的經典用法,可以產生類似列表的資料結構或是程式結構,常用在列表中部份內容無法用indexing合成的情形(例如在编译期就要產生)。若要維護列表,其對應項需要以相同的順序聲明或執行,可以用X巨集可靠的維護此部份程式。 這類列表的例如包括陣列的初始化(與枚舉常數和函數原型的聲明一起),敘述序列和switch語句的生成等。 X巨集的使用可以追溯到1960年代,在現今的C语言和C++語言中仍可使用,但和…
在程序设计中,尤其是在C语言、C++、C#和Java语言中,使用volatile关键字声明的变量或对象通常具有与优化、多线程相关的特殊属性。通常,volatile关键字是用来阻止(伪)编译器因誤認某段程式碼無法被程式碼本身所改變,而造成的過度優化。如在C语言中,volatile关键字可以用来提醒编译器它后面所定义的变量随时有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile…
{{Infobox programming language |name = C語言 |logo = File:C1stEdition.svg |logo_size = 160px |logo caption = 在第一部介绍C语言的书籍《C程序设计语言》的初版封面上使用的C标识 |paradigm = 程序式指令式编程(过程式)、结构化编程 |year = |designer = 丹尼斯·里奇(Dennis Ritchie) |dev…
constexpr是C++11引入的关键字,用于编译时的常量与常量函数。 声明为constexpr函数的意义是:如果其参数均为合适的编译期常量,则对这个constexpr函数的调用就可用于期望常量表达式的场合(如模板的非类型参数,或枚举(enum)常量的值)。如果参数的值在运行期才能确定,或者虽然参数的值是编译期常量,但不-{zh-cn:匹配;zh-tw:符合;}-这个函数的要求,则对这个函数调用的求值只能在运行期进行。 简介 C++编…
{{Sidebar |name = C語言標準 |style = width:auto;background:#f5faff;font-size:90%;line-height:1.6em; |titlestyle = font-size:130%;padding-left:0.4em;padding-right:0.4em;background:#cee0f2; display:block;margin-bottom:6px; |ti…
MISRA C是由(MISRA)提出的C語言開發標準。其目的是在增進嵌入式系統的安全性及可移植性。針對C++語言也有對應的標準MISRA C++。 MISRA C一開始主要是針對汽車產業 ,不過其他產業也逐漸開始使用MISRA C:包括航空、電信、國防、醫療設備、鐵路等領域中都已有廠商使用MISRA C。 MISRA C的第一版《Guidelines for the use of the C language in vehicle ba…
{{Sidebar |name = C語言標準 |style = width:auto;background:#f5faff;font-size:90%;line-height:1.6em; |titlestyle = font-size:130%;padding-left:0.4em;padding-right:0.4em;background:#cee0f2; display:block;margin-bottom:6px; |ti…
丹尼斯·麦卡利斯泰尔·里奇(,),美國計算機科學家。駭客圈子通常稱他為「dmr」。他是C語言的創造者、Unix作業系統的關鍵開發者,對電腦領域產生了深遠影響,並與肯·湯普遜同為1983年圖靈獎得主。 生平 (左)和丹尼斯·里奇(右)]] 丹尼斯·里奇生於美國紐約州布隆克維。他的父親是《開關電路設計》(The Design of Switching Circuits)作者之一、貝爾實驗室的資深科學家阿利斯泰爾·里奇(Alistair E.…
C风格字符串特指在C语言中字符串的存储方式。 在编程语言中,常常需要表示一段字符,如“今天你吃了么”,“how are you?”,“afjsa234234(&((”等等。同一种字符串的写法在不同的编程语言中表示的字面值都是一样的,即引号中间的内容,但是在存储的处理上往往不一样。 C语言中字符串的处理 在C语言中,字符串是以字符数组的形式进行存储的,且在数组中以'\0'作为终结符。由于'\0'在ASCII中表示空字符(NULL),即在语…
在C和C ++编程语言中,逗号运算符( ,)是一个二元运算符,使用形式如。它计算其第一个操作数并丢弃结果,然后计算第二个操作数并返回。这些计算之间有一个顺序点。 逗号运算符的用途不同于逗号在函数调用和定义,变量声明,枚举声明以及类似结构中的使用,逗号在这些例子中的作用是作为。 句法 逗号运算符在C/C++中作为顺序点的显式标记,同时具有最低的优先级。 示例 在这些例子中,第二组和第三组之间的行为不同是由于逗号运算符的优先级低于赋值运算。…
在程序设计中,不透明指针(Opaque pointer)是不透明数据类型的一种特殊情况,这种資料類型被声明为指向某种未指定类型的记录或数据结构的指针。不透明指针存在于艾达、C语言、C++、D語言和Modula-2 等多种编程语言中 不透明指针是一种向普通客户端隐藏接口實現细节的方法。这对程序员也有好处,因为可以创建一个简单的接口,而大多数细节可以隐藏在另一个文件中。 例子 Ada package Library_Interface is…
在一些编程语言中,如C语言 (及其近亲,如C++、Objective-C和Java)中,static是一个保留字。Static关键字的作用因具体编程语言的细节而异。在Java的類定義中,被static修飾的變量和方法稱為靜態變量和靜態方法。 参考文献
在C语言中,数据类型可以分为两类:基础数据类型和复合数据类型。 基础数据类型 注意:以下是典型的数据位长和范围。编译器可能使用不同的数据位长和范围。请参考具体的参考。 在标准头文件limits.h 和 float.h中说明了基础数据的长度。float,double和long double的范围就是在IEEE 754标准中提及的典型数据。另外,C99添加了新的复数类型,C11添加了原子类型,它们不在本条目讨论范围内。关于这些类型的具体含义…
GNU cflow是GNU計劃中的一款流程图生成器,其读取一系列C语言源文件并生成外部引用的流程图。此软件仅需读取源码而无需运行代码编译后的软件。 历史 其起初为UNIX实用工具cflow的实现。 cflow(UNIX实用工具) cflow是一个生成C语言流程图的Unix命令。 除了GNU以外,还存在其他对cflow的实现(如为打造的版本)。 参考文献 外部链接 GNU Savannah平台上的[http://savannah.gnu.…
《C程序设计语言》(),又譯為C語言程式設計,是介紹C語言的计算机科学著作,由计算机科学家布萊恩·柯林漢(Brian Kernighan)和C语言之父丹尼斯·里奇(Dennis Ritchie)合著,是第一部介紹C語言編程方法的書籍。它因作者名字的縮寫被簡稱為K&R;或是因封面颜色,被稱為白皮书。 它在C语言的发展和普及过程中起到了非常重要的作用,被視為是C語言的業界標準規範,而且至今仍然广泛使用。它被公认为计算机技术著作的典范,以清晰…
C 標準函式庫(,缩写:)是在C語言程式設計中,所有符合標準的头文件()的集合,以及常用的函式庫實作程序(如 I/O 輸入輸出和字串控制)。不像 COBOL、Fortran 和 PL/I等程式語言,在 C 語言的工作任務裡不會包含嵌入的關鍵字,所以幾乎所有的 C 語言程式都是由標準函式庫的函式來建立的。 設計 每一個函式的名稱與特性會被寫成一個電腦檔案,這個檔案就稱為標頭檔案,但是實際的函式實作是被分存到函式庫檔案裡。標頭檔的命名和領域…
在C和C++程式語言中,typedef是一個關鍵字。它用來對一個資料類型取一個別名,目的是為了使原始碼更易於閱讀和理解。它通常用於簡化宣告複雜的類型組成的結構 ,但它也常常在各種長度的整數資料型別中看到,例如size_t和time_t。 語法 typedef的語法是 : typedef typedeclaration; 創建 Length 作為 int 的別名 : typedef int Length;創建 PFI 作為一個指向「一個擁…
寬字元(Wide character) 是计算机抽象術語(没有规定具体实现细节),表示比1字节還寬的資料類型。不同於Unicode。 Unicode ISO/IEC 10646:2003 Unicode 4.0 指出: :"The width of wchar_t is compiler-specific and can be as small as 8 bits. Consequently, programs that need to…
{{Sidebar |name = C語言標準 |style = width:auto;background:#f5faff;font-size:90%;line-height:1.6em; |titlestyle = font-size:130%;padding-left:0.4em;padding-right:0.4em;background:#cee0f2; display:block;margin-bottom:6px; |ti…
{{Sidebar |name = C語言標準 |style = width:auto;background:#f5faff;font-size:90%;line-height:1.6em; |titlestyle = font-size:130%;padding-left:0.4em;padding-right:0.4em;background:#cee0f2; display:block;margin-bottom:6px; |ti…