C語言是一門經(jīng)典的編程語言,經(jīng)過這么多年,依然是一門很熱的編程語言。
在TIOBE 編程語言排行榜中,這幾年C語言基本排名第一、第二,可以說問問的坐在前排。
然后,也分享過一篇《ANSI 的100年發(fā)展歷程》講述了ANSI(美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì))100年的發(fā)展歷史。
這里再次描述一下C89、C99、C11的歷史:
1983 年,美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)(ANSI)組成了一個(gè)委員會(huì)來創(chuàng)立 C 語言的標(biāo)準(zhǔn)。因?yàn)檫@個(gè)標(biāo)準(zhǔn)是 1989年發(fā)布的,所以一般簡(jiǎn)稱 C89 標(biāo)準(zhǔn)。有些人也把 C89 標(biāo)準(zhǔn)叫做 ANSI C。
在 1990 年, ANSI C89 標(biāo)準(zhǔn)被國(guó)際標(biāo)準(zhǔn)化組織(ISO)和國(guó)際電工委員會(huì)(IEC)采納為國(guó)際標(biāo)準(zhǔn),名叫ISO/IEC 9899:1990 - Programming languages C,有些人簡(jiǎn)稱 C90 標(biāo)準(zhǔn)。因此, C89 和 C90 通常指同一個(gè)標(biāo)準(zhǔn),一般更常用 C89 這種說法。
在 2000 年3 月,國(guó)際標(biāo)準(zhǔn)化組織(ISO)和國(guó)際電工委員會(huì)(IEC)采納了第二個(gè) C 語言標(biāo)準(zhǔn),名叫 ISO/IEC9899:1999 - Programming languages -- C,簡(jiǎn)稱 C99 標(biāo)準(zhǔn)。
在 2011 年 12 月,國(guó)際標(biāo)準(zhǔn)化組織(ISO)和國(guó)際電工委員會(huì)(IEC)采納了第三個(gè) C 語言標(biāo)準(zhǔn),名叫ISO/IEC 9899:2011 - Information technology -- Programming languages -- C,簡(jiǎn)稱 C11 標(biāo)準(zhǔn)。
對(duì)于我們常用的開發(fā)環(huán)境 MDK 和 IAR 而已, C89, C99 和 C11 均支持。

C標(biāo)準(zhǔn)目前C99用的最多的,一般來說,C99兼容C89。
1.對(duì)數(shù)組的增強(qiáng)
可變長(zhǎng)數(shù)組
C99中,程序員聲明數(shù)組時(shí),數(shù)組的維數(shù)可以由任一有效的整型表達(dá)式確定,包括只在運(yùn)行時(shí)才能確定其值的表達(dá)式,這類數(shù)組就叫做可變長(zhǎng)數(shù)組。
但是只有局部數(shù)組才可以是變長(zhǎng)的,可變長(zhǎng)數(shù)組的維數(shù)在數(shù)組生存期內(nèi)是不變的,也就是說,可變長(zhǎng)數(shù)組不是動(dòng)態(tài)的,可以變化的只是數(shù)組的大小,可以使用*來定義不確定長(zhǎng)的可變長(zhǎng)數(shù)組。
數(shù)組聲明中的類型修飾符
在C99中,如果需要使用數(shù)組作為函數(shù)變?cè)梢栽跀?shù)組聲明的方括號(hào)內(nèi)使用static關(guān)鍵字,這相當(dāng)于告訴編譯程序,變?cè)赶虻臄?shù)組將至少包含指定的元素個(gè)數(shù)。也可以在數(shù)組聲明的方括號(hào)內(nèi)使用restrict,volatile,const關(guān)鍵字,但只用于函數(shù)變?cè)H绻褂胷estrict,指針是初始訪問該對(duì)象的惟一途徑。
如果使用const,指針始終指向同一個(gè)數(shù)組。使用volatile沒有任何意義。 2.單行注釋
引入了單行注釋標(biāo)記 "http://" , 可以象C++一樣使用這種注釋了。
3.分散代碼與聲明
預(yù)處理程序的修改
4.for語句內(nèi)的變量聲明
C99中,程序員可以在for語句的初始化部分定義一個(gè)或多個(gè)變量,這些變量的作用域僅于本for語句所控制的循環(huán)體內(nèi)。比如代碼:
C99中,復(fù)合賦值中,可以指定對(duì)象類型的數(shù)組、結(jié)構(gòu)或聯(lián)合表達(dá)式。當(dāng)使用復(fù)合賦值時(shí),應(yīng)在括弧內(nèi)指定類型,后跟由花括號(hào)圍起來的初始化列表;若類型為數(shù)組,則不能指定數(shù)組的大小。建成的對(duì)象是未命名的。
例:
6.指定的初始化符
C99中,該特性對(duì)經(jīng)常使用稀疏數(shù)組的程序員十分有用。指定的初始化符通常有兩種用法:用于數(shù)組,以及用于結(jié)構(gòu)和聯(lián)合。用于數(shù)組的格式:[index] = vol; 其中,index表示數(shù)組的下標(biāo),vol表示本數(shù)組元素的初始化值。
例如:
member-name(成員名稱)
對(duì)結(jié)構(gòu)進(jìn)行指定的初始化時(shí),允許采用簡(jiǎn)單的方法對(duì)結(jié)構(gòu)中的指定成員進(jìn)行初始化。
例如:
7.printf()和scanf()函數(shù)系列的增強(qiáng)
C99中printf()和scanf()函數(shù)系列引進(jìn)了處理long long int和unsigned long long int數(shù)據(jù)類型的特性。long long int 類型的格式修飾符是ll。
在printf()和scanf()函數(shù)中,ll適用于d, i, o, u 和x格式說明符。
另外,C99還引進(jìn)了hh修飾符。當(dāng)使用d, i, o, u和x格式說明符時(shí),hh用于指定char型變?cè)l和hh修飾符均可以用于n說明符。
格式修飾符a和A用在printf()函數(shù)中時(shí),結(jié)果將會(huì)輸出十六進(jìn)制的浮點(diǎn)數(shù)。格式如下:[-]0xh, hhhhp + d 使用A格式修飾符時(shí),x和p必須是大寫。A和a格式修飾符也可以用在scanf()函數(shù)中,用于讀取浮點(diǎn)數(shù)。調(diào)用printf()函數(shù)時(shí),允許在%f說明符前加上l修飾符,即%lf,但不起作用。
8.C99新增的庫(kù)
C89中標(biāo)準(zhǔn)的頭文件:
C99新增的頭文件和庫(kù)
10.__func__預(yù)定義標(biāo)識(shí)符
用于指出__func__所存放的函數(shù)名,類似于字符串賦值。
11.其它特性的改動(dòng)
放寬的轉(zhuǎn)換限制
限制C89標(biāo)準(zhǔn)C99標(biāo)準(zhǔn)
數(shù)據(jù)塊的嵌套層數(shù)15127
條件語句的嵌套層數(shù)8 63
內(nèi)部標(biāo)識(shí)符中的有效字符個(gè)數(shù)3163
外部標(biāo)識(shí)符中的有效字符個(gè)數(shù)631
結(jié)構(gòu)或聯(lián)合中的成員個(gè)數(shù)1271023
函數(shù)調(diào)用中的參數(shù)個(gè)數(shù)31127
不再支持隱含式的int規(guī)則
刪除了隱含式函數(shù)聲明
對(duì)返回值的約束
C99中,非空類型函數(shù)必須使用帶返回值的return語句.
擴(kuò)展的整數(shù)類型
擴(kuò)展類型 含義
int16_t 整數(shù)長(zhǎng)度為精確16位
int_least16_t 整數(shù)長(zhǎng)度為至少16位
int_fast32_t 最穩(wěn)固的整數(shù)類型,其長(zhǎng)度為至少32位
intmax_t 最大整數(shù)類型
uintmax_t 最大無符號(hào)整數(shù)類型
對(duì)整數(shù)類型提升規(guī)則的改進(jìn):
12.新增數(shù)據(jù)類型
_Bool
值是0或1。C99中增加了用來定義bool、true以及false宏的頭文件夾,以便程序 員能夠編寫同時(shí)兼容于C與C++的應(yīng)用程序。在編寫新的應(yīng)用程序時(shí),應(yīng)該使用頭文件中的bool宏。
_Complex and _Imaginary
C99標(biāo)準(zhǔn)中定義的復(fù)數(shù)類型如下:float_Complex; float_Imaginary; double_Complex;double_Imaginary; long double_Complex; long double_Imaginary.
頭文件中定義了complex和imaginary宏,并將它們擴(kuò)展為_Complex和_Imaginary, 因此在編寫新的應(yīng)用程序時(shí),應(yīng)該使用頭文件中的complex和imaginary宏。
long long int
C99標(biāo)準(zhǔn)中引進(jìn)了long long int(-(2e63 - 1)至2e63 - 1)和unsigned long long int(0 - 2e64 - 1)。long long int能夠支持的整數(shù)長(zhǎng)度為64位。
這些是主要區(qū)別,希望對(duì)大家有幫助。
審核編輯 :李倩
在TIOBE 編程語言排行榜中,這幾年C語言基本排名第一、第二,可以說問問的坐在前排。

C標(biāo)準(zhǔn)歷史
然后,也分享過一篇《ANSI 的100年發(fā)展歷程》講述了ANSI(美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì))100年的發(fā)展歷史。
這里再次描述一下C89、C99、C11的歷史:
1983 年,美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)(ANSI)組成了一個(gè)委員會(huì)來創(chuàng)立 C 語言的標(biāo)準(zhǔn)。因?yàn)檫@個(gè)標(biāo)準(zhǔn)是 1989年發(fā)布的,所以一般簡(jiǎn)稱 C89 標(biāo)準(zhǔn)。有些人也把 C89 標(biāo)準(zhǔn)叫做 ANSI C。
在 1990 年, ANSI C89 標(biāo)準(zhǔn)被國(guó)際標(biāo)準(zhǔn)化組織(ISO)和國(guó)際電工委員會(huì)(IEC)采納為國(guó)際標(biāo)準(zhǔn),名叫ISO/IEC 9899:1990 - Programming languages C,有些人簡(jiǎn)稱 C90 標(biāo)準(zhǔn)。因此, C89 和 C90 通常指同一個(gè)標(biāo)準(zhǔn),一般更常用 C89 這種說法。
在 2000 年3 月,國(guó)際標(biāo)準(zhǔn)化組織(ISO)和國(guó)際電工委員會(huì)(IEC)采納了第二個(gè) C 語言標(biāo)準(zhǔn),名叫 ISO/IEC9899:1999 - Programming languages -- C,簡(jiǎn)稱 C99 標(biāo)準(zhǔn)。
在 2011 年 12 月,國(guó)際標(biāo)準(zhǔn)化組織(ISO)和國(guó)際電工委員會(huì)(IEC)采納了第三個(gè) C 語言標(biāo)準(zhǔn),名叫ISO/IEC 9899:2011 - Information technology -- Programming languages -- C,簡(jiǎn)稱 C11 標(biāo)準(zhǔn)。
對(duì)于我們常用的開發(fā)環(huán)境 MDK 和 IAR 而已, C89, C99 和 C11 均支持。

C標(biāo)準(zhǔn)目前C99用的最多的,一般來說,C99兼容C89。
C89和C99主要區(qū)別
1.對(duì)數(shù)組的增強(qiáng)
可變長(zhǎng)數(shù)組
C99中,程序員聲明數(shù)組時(shí),數(shù)組的維數(shù)可以由任一有效的整型表達(dá)式確定,包括只在運(yùn)行時(shí)才能確定其值的表達(dá)式,這類數(shù)組就叫做可變長(zhǎng)數(shù)組。
但是只有局部數(shù)組才可以是變長(zhǎng)的,可變長(zhǎng)數(shù)組的維數(shù)在數(shù)組生存期內(nèi)是不變的,也就是說,可變長(zhǎng)數(shù)組不是動(dòng)態(tài)的,可以變化的只是數(shù)組的大小,可以使用*來定義不確定長(zhǎng)的可變長(zhǎng)數(shù)組。
數(shù)組聲明中的類型修飾符
在C99中,如果需要使用數(shù)組作為函數(shù)變?cè)梢栽跀?shù)組聲明的方括號(hào)內(nèi)使用static關(guān)鍵字,這相當(dāng)于告訴編譯程序,變?cè)赶虻臄?shù)組將至少包含指定的元素個(gè)數(shù)。也可以在數(shù)組聲明的方括號(hào)內(nèi)使用restrict,volatile,const關(guān)鍵字,但只用于函數(shù)變?cè)H绻褂胷estrict,指針是初始訪問該對(duì)象的惟一途徑。
如果使用const,指針始終指向同一個(gè)數(shù)組。使用volatile沒有任何意義。 2.單行注釋
引入了單行注釋標(biāo)記 "http://" , 可以象C++一樣使用這種注釋了。
3.分散代碼與聲明
預(yù)處理程序的修改
4.for語句內(nèi)的變量聲明
C99中,程序員可以在for語句的初始化部分定義一個(gè)或多個(gè)變量,這些變量的作用域僅于本for語句所控制的循環(huán)體內(nèi)。比如代碼:
for(int i=0; i<10; i++){
// do someting ...
}
5.復(fù)合賦值C99中,復(fù)合賦值中,可以指定對(duì)象類型的數(shù)組、結(jié)構(gòu)或聯(lián)合表達(dá)式。當(dāng)使用復(fù)合賦值時(shí),應(yīng)在括弧內(nèi)指定類型,后跟由花括號(hào)圍起來的初始化列表;若類型為數(shù)組,則不能指定數(shù)組的大小。建成的對(duì)象是未命名的。
例:
double *fp = (double[]) {1.1, 2.2, 3.3};
該語句用于建立一個(gè)指向double的指針fp,且該指針指向這個(gè)3元素?cái)?shù)組的第一個(gè)元素。在文件域內(nèi)建立的復(fù)合賦值只在程序的整個(gè)生存期內(nèi)有效。在模塊內(nèi)建立的復(fù)合賦值是局部對(duì)象,在退出模塊后不再存在。6.指定的初始化符
C99中,該特性對(duì)經(jīng)常使用稀疏數(shù)組的程序員十分有用。指定的初始化符通常有兩種用法:用于數(shù)組,以及用于結(jié)構(gòu)和聯(lián)合。用于數(shù)組的格式:[index] = vol; 其中,index表示數(shù)組的下標(biāo),vol表示本數(shù)組元素的初始化值。
例如:
int x[10] = {[0] = 10, [5] = 30};
其中只有x[0]和x[5]得到了初始化.用于結(jié)構(gòu)或聯(lián)合的格式如下:member-name(成員名稱)
對(duì)結(jié)構(gòu)進(jìn)行指定的初始化時(shí),允許采用簡(jiǎn)單的方法對(duì)結(jié)構(gòu)中的指定成員進(jìn)行初始化。
例如:
struct example{ int k, m, n; } object = {m = 10,n = 200};
其中,沒有初始化k。對(duì)結(jié)構(gòu)成員進(jìn)行初始化的順序沒有限制。7.printf()和scanf()函數(shù)系列的增強(qiáng)
C99中printf()和scanf()函數(shù)系列引進(jìn)了處理long long int和unsigned long long int數(shù)據(jù)類型的特性。long long int 類型的格式修飾符是ll。
在printf()和scanf()函數(shù)中,ll適用于d, i, o, u 和x格式說明符。
另外,C99還引進(jìn)了hh修飾符。當(dāng)使用d, i, o, u和x格式說明符時(shí),hh用于指定char型變?cè)l和hh修飾符均可以用于n說明符。
格式修飾符a和A用在printf()函數(shù)中時(shí),結(jié)果將會(huì)輸出十六進(jìn)制的浮點(diǎn)數(shù)。格式如下:[-]0xh, hhhhp + d 使用A格式修飾符時(shí),x和p必須是大寫。A和a格式修飾符也可以用在scanf()函數(shù)中,用于讀取浮點(diǎn)數(shù)。調(diào)用printf()函數(shù)時(shí),允許在%f說明符前加上l修飾符,即%lf,但不起作用。
8.C99新增的庫(kù)
C89中標(biāo)準(zhǔn)的頭文件:
-
定義宏assert()
-
字符處理
-
錯(cuò)誤報(bào)告
-
定義與實(shí)現(xiàn)相關(guān)的浮點(diǎn)值勤
-
定義與實(shí)現(xiàn)相關(guān)的各種極限值
-
支持函數(shù)setlocale()
-
數(shù)學(xué)函數(shù)庫(kù)使用的各種定義
-
支持非局部跳轉(zhuǎn)
-
定義信號(hào)值
-
支持可變長(zhǎng)度的變?cè)斜?/span>
-
定義常用常數(shù)
-
支持文件輸入和輸出
-
其他各種聲明
-
支持串函數(shù)
-
支持系統(tǒng)時(shí)間函數(shù)
C99新增的頭文件和庫(kù)
-
支持復(fù)數(shù)算法
-
給出對(duì)浮點(diǎn)狀態(tài)標(biāo)記和浮點(diǎn)環(huán)境的其他方面的訪問
-
定義標(biāo)準(zhǔn)的、可移植的整型類型集合。也支持處理最大寬度整數(shù)的函數(shù)
-
首先在此1995年第一次修訂時(shí)引進(jìn),用于定義對(duì)應(yīng)各種運(yùn)算符的宏
-
支持布爾數(shù)據(jù)類型類型。定義宏bool,以便兼容于C++
-
定義標(biāo)準(zhǔn)的、可移植的整型類型集合。該文件包含在 中
-
定義一般類型的浮點(diǎn)宏
-
首先在1995年第一次修訂時(shí)引進(jìn),用于支持多字節(jié)和寬字節(jié)函數(shù)
-
首先在1995年第一次修訂時(shí)引進(jìn),用于支持多字節(jié)和寬字節(jié)分類函數(shù)
用于指出__func__所存放的函數(shù)名,類似于字符串賦值。
11.其它特性的改動(dòng)
放寬的轉(zhuǎn)換限制
限制C89標(biāo)準(zhǔn)C99標(biāo)準(zhǔn)
數(shù)據(jù)塊的嵌套層數(shù)15127
條件語句的嵌套層數(shù)8 63
內(nèi)部標(biāo)識(shí)符中的有效字符個(gè)數(shù)3163
外部標(biāo)識(shí)符中的有效字符個(gè)數(shù)631
結(jié)構(gòu)或聯(lián)合中的成員個(gè)數(shù)1271023
函數(shù)調(diào)用中的參數(shù)個(gè)數(shù)31127
不再支持隱含式的int規(guī)則
刪除了隱含式函數(shù)聲明
對(duì)返回值的約束
C99中,非空類型函數(shù)必須使用帶返回值的return語句.
擴(kuò)展的整數(shù)類型
擴(kuò)展類型 含義
int16_t 整數(shù)長(zhǎng)度為精確16位
int_least16_t 整數(shù)長(zhǎng)度為至少16位
int_fast32_t 最穩(wěn)固的整數(shù)類型,其長(zhǎng)度為至少32位
intmax_t 最大整數(shù)類型
uintmax_t 最大無符號(hào)整數(shù)類型
對(duì)整數(shù)類型提升規(guī)則的改進(jìn):
- C89中,表達(dá)式中類型為char,short int或int的值可以提升為int或unsigned int類型.
- C99中,每種整數(shù)類型都有一個(gè)級(jí)別.例如:long long int 的級(jí)別高于int, int的級(jí)別高于char
- 等.在表達(dá)式中,其級(jí)別低于int或unsigned int的任何整數(shù)類型均可被替換成int或unsigned int類型.
12.新增數(shù)據(jù)類型
_Bool
值是0或1。C99中增加了用來定義bool、true以及false宏的頭文件夾
_Complex and _Imaginary
C99標(biāo)準(zhǔn)中定義的復(fù)數(shù)類型如下:float_Complex; float_Imaginary; double_Complex;double_Imaginary; long double_Complex; long double_Imaginary.
long long int
C99標(biāo)準(zhǔn)中引進(jìn)了long long int(-(2e63 - 1)至2e63 - 1)和unsigned long long int(0 - 2e64 - 1)。long long int能夠支持的整數(shù)長(zhǎng)度為64位。
這些是主要區(qū)別,希望對(duì)大家有幫助。
審核編輯 :李倩
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
C語言
+關(guān)注
關(guān)注
183文章
7644瀏覽量
145598 -
編程語言
+關(guān)注
關(guān)注
10文章
1964瀏覽量
39571
原文標(biāo)題:C89和C99標(biāo)準(zhǔn)有什么不同?
文章出處:【微信號(hào):strongerHuang,微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
【ESP32-C2系列】WT99C262-SG開發(fā)板上手指南
本指南將幫助你快速上手WT99C262-SG系列開發(fā)板,并提供該開發(fā)板的詳細(xì)信息。WT99C262-SG系列開發(fā)板是深圳市啟明云端有限公司推出的一款基于WTLRC262-SG系列模組的開發(fā)板。板上
【ESP32-C2系列】WT99C202-AI-S2開發(fā)板上手指南
1開發(fā)板介紹WT99C202-AI-S2開發(fā)板是深圳市啟明云端有限公司推出的一款基于WT01C202-AI-S1模組的多媒體開發(fā)板。WT01C202-AI-S1模組基于樂鑫ESP32-C
C語言安全編碼指南:MISRA C、CERT C、CWE 與 C Secure 標(biāo)準(zhǔn)對(duì)比與Perforce QAC應(yīng)用詳解
如何編寫真正安全的C語言代碼?指南涵蓋MISRA C、CERT、CWE等國(guó)際安全編碼標(biāo)準(zhǔn)對(duì)比,以及如何借助Perforce QAC自動(dòng)檢測(cè)漏洞。推薦給嵌入式/汽車/工業(yè)軟件的開發(fā)者!
keil實(shí)現(xiàn)c與c++混合編程
起因項(xiàng)目中使用到一個(gè)開源的模擬IIC的庫(kù),封裝的比較好,但是是使用c++寫的。于是將其移植到自己的項(xiàng)目中,主要有以下三步操作:
在工程選項(xiàng)中 C/C++中去掉勾選 C99 Mode
發(fā)表于 01-26 08:58
C語言的緩沖區(qū)(緩存)詳解
得出錯(cuò)信息可以直接盡快地顯示出來。
ANSI C( C89 )要求緩存具有下列特征:
當(dāng)且僅當(dāng)標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出并不涉及交互設(shè)備時(shí),它們才是全緩存的。
發(fā)表于 01-14 07:30
C語言主要特點(diǎn)
。
3.數(shù)據(jù)類型豐富。C語言提供的數(shù)據(jù)類型包括整形、浮點(diǎn)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型和共用體類型等,C99又?jǐn)U充了復(fù)數(shù)浮點(diǎn)型、超長(zhǎng)整型(long long)和布爾類型(bool)等。尤其是
發(fā)表于 01-05 07:41
深度剖析DS89C21:差分CMOS線驅(qū)動(dòng)器與接收器對(duì)
CMOS線驅(qū)動(dòng)器和接收器對(duì),看看它有哪些獨(dú)特的特性和優(yōu)勢(shì)。 文件下載: ds89c21.pdf 一、DS89C21的特性亮點(diǎn) 1. 標(biāo)準(zhǔn)兼容性 DS89C21滿足TIA/EIA - 4
微庫(kù)與標(biāo)準(zhǔn)C庫(kù)的區(qū)別
、stdout 和 stderr 除外。
MicroLib對(duì) C99 函數(shù)提供有限的支持。
MicroLib不支持操作系統(tǒng)函數(shù)。
MicroLib不支持與位置無關(guān)的代碼。
MicroLib不提供互斥鎖來
發(fā)表于 12-09 07:49
C語言的編程技巧
1、宏定義使用do{...}while(0)?:當(dāng)宏定義中包含多條語句時(shí),使用do{...}while(0)可以避免語句嵌套問題,確保宏的獨(dú)立性。?
?2、靈活數(shù)組成員?:C99標(biāo)準(zhǔn)允許結(jié)構(gòu)體的最后
發(fā)表于 11-27 06:46
?CAT24C64 64Kb I2C CMOS串行EEPROM技術(shù)深度解析
安森美 (onsemi) CAT24C64 64Kb I^2^C CMOS串行EEPROM在內(nèi)部為每個(gè)8位安排有8192個(gè)字。這些EEPROM具有32字節(jié)頁(yè)面寫入緩沖區(qū),并支持標(biāo)準(zhǔn)(1
炬芯科技ATS3089C芯片賦能形意智能AR99全息智能眼鏡
在AI與可穿戴技術(shù)深度融合的當(dāng)下,炬芯科技再添落地新成果。其高性能穿戴芯片平臺(tái)ATS3089C已成功賦能形意智能AR99全息智能眼鏡,標(biāo)志著炬芯科技智能穿戴芯片在智能眼鏡領(lǐng)域的量產(chǎn)應(yīng)用又邁出堅(jiān)實(shí)一步
STMicroelectronics NUCLEO-C031C6 Nucleo開發(fā)板數(shù)據(jù)手冊(cè)
STMicroElectronics NUCLEO-C031C6 Nucleo開發(fā)板是STM32 MCU系列的一部分。該板非常適合用于快速原型設(shè)計(jì),標(biāo)準(zhǔn)化連接允許設(shè)計(jì)人員在整個(gè)Nucleo板產(chǎn)品組合
rt-thread 在mdk5中使用v6編譯器編譯出錯(cuò)怎么解決?
cpuport.c...
ArmClang: error: unsupported option \'--c99\'
compiling i2c_core.c...
ArmClang: error
發(fā)表于 09-24 07:22
AT89C51 單片機(jī)中文資料
電子發(fā)燒友網(wǎng)站提供《AT89C51 單片機(jī)中文資料.pdf》資料免費(fèi)下載
發(fā)表于 06-24 15:29
?1次下載
智能新趣玩:?jiǎn)⒚髟贫薟T99C202 AI機(jī)芯盒,開啟玩具新體驗(yàn)?
的想象力和創(chuàng)造力。啟明云端WT99C202AI機(jī)芯盒正將這一奇妙設(shè)想變?yōu)楝F(xiàn)實(shí),為玩具行業(yè)帶來新的變革,那它是如何做到的呢?AI機(jī)芯盒機(jī)芯盒配件WT99C202AI
C89和C99標(biāo)準(zhǔn)有什么不同?
評(píng)論