C語言有哪些特性是C 沒有或者做不到的,並因此C 無法代替C?

時間 2021-05-30 20:14:00

1樓:望山

很多回答都跑題了,C++無法代替C是因為C++多了一些去不掉的功能(例如自動執行的一連串的析構函式,而最嚴重的是無法迴避的異常處理),在某些場合那些功能會耽誤事。而不是C++比C少了什麼。C99和之後的那些語法都不是必要的,沒有哪個軟體會因為缺少那些語法而寫不出來。

2樓:Timothy Liu

C++無法代替C並不是因為C語言的特性C++ 不支援。C++不支援的C特性都是少數無關緊要的特性,比如VLA,指定初始化器,_Generic,_Complex…不過這些C++都能以自己的方式實現。

3樓:Reverier

依稀記得C++不允許用register宣告全域性變數, 但是C語言可以.

C++17標準直接忽略掉了這個關鍵字, 不過在標準拋棄掉之前, 大多數編譯器(無論是C還是C++)都預設無視這個關鍵字.

4樓:莫意

剛剛接觸程式設計,不請自來,也不知道對不對,剛學的C語言,然後接觸cpp時感覺有點不適應,但後來,真香,cpp確實好像比C語言方便簡潔好多,但是就記得,做題時,碰到那個gets()函式.,當時還沒學cpp,但是選擇的編譯環境就是c++的編譯環境,(因為好像老師說C語言能過的cpp都能過)然後就,咋咋咋就不過了,那個題,然後,換成c(GCC 6. 5.

0) 就過了,咱也不清楚 ,好像離題了,那還不喜勿噴,俺害怕

5樓:黎黎黎

void TASK_SIGNAL_LED13(void *p_arg){

char * title =(char *)p_arg;

6樓:qyuqxun

main遞迴

還有C++主函式用main()(前面不加int)似乎不行

上幾個版本的void main()在gcc會警告g++直接不行

7樓:

non-trivial designated initializer(非平凡指定初始化器)

例如:intA[

5]=;

或者:struct

Foo;

struct

Foox=;

為什麼有C語言 有C 卻沒有C 語言?

Alds Nick C 這個名字是Rick Mascitti於1983年中所建議的,並於1983年12月首次使用。更早以前,尚在研究階段的發展中語言曾被稱為 new C 之後是 C with Classes 在電腦科學中,C 仍被稱為C語言的上層結構。它最後得名於C語言中的 操作符 其對變數的值進行...

vs裡有哪些特性不符合c 標準?

冒泡 碰到過兩個問題,可能和版本有關 乙個是十進位制整型字面量,不帶字尾,如果超出int最大值,但還在unsigned int範圍的時候,按標準應該是long或long long,但是vc的結果是unsigned int,貌似是在vc9下測試出的 另乙個是vc6這個老版本的問題,乙個物件應該在當前b...

有哪些語言的編譯器是用C 寫的 為何選用C

yibin guo c 在軟體擴充套件性上,有的情況是要優於C語言。因為是語言級別的支援,讓你不得不這樣去思維 對比 llvm 和 gcc 就可以得出結論,你如果想修改一下Gcc的東西,花費的時間是要比llvm 多。但是以上是思維模式的範疇,其實c也可以很好的 物件導向 linux 核心裡面的有些設...