首先是作為一種自定義數據類型,C語言中定義結構體變量必須要加上 struct 關鍵字,C++可以不加,直接用結構體名。
第二個,C語言的結構體,只能放一些變量,如果想放一些函數進去,也只能使用結構體指針間接的去操作。
但是在 C++ 中,結構體就豐富了很多,不僅可以有變量,還可以寫函數。通過結構體變量也能去調用函數。
第三個,C++中的結構體,可以支持構造函數。
所謂構造函數,就是函數名與結構體名相同的函數,并且沒有返回值。
在這個函數里面,一般可以對結構體成員做初始化。
有了構造函數,當然也有析構函數,做一些回收資源的操作。
第四個,C++中的結構體還具備了繼承的特性。比如來個結構體 A,再來個結構體 B,因為結構體 B 中的成員有一部分跟 A 一樣,所以可以直接使用繼承的語法,把 A 繼承過來。不過這些都已經屬于面向對象的范疇。
關于 C 和 C++ 中結構體的區別,還有哪些,歡迎在評論區補充。
-
C語言
+關注
關注
180文章
7630瀏覽量
140312 -
函數
+關注
關注
3文章
4369瀏覽量
64187 -
結構體
+關注
關注
1文章
130瀏覽量
11030
原文標題:同樣是結構體,在C和C++中有什么區別
文章出處:【微信號:學益得智能硬件,微信公眾號:學益得智能硬件】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
評論