c 裡用結構體好嗎

2021-08-20 13:01:50 字數 1456 閱讀 5334

1樓:飄渺世間天

沒有什麼大的區別,c++中加入結構體是為了向c相容,而結構在c++中作為類的方式來操作的話(比如加入成員函式),其實它就是個預設為public訪問許可權的類了,而如果你把它用做c的結構的話它就是一般的結構。

二者的不同在c++中(當然c中沒有class)唯一表現在訪問許可權上,所以如果你並非想用到類的特性的話你就應該使用結構,但是這並不是乙個強制條件,你可以使用struct定義完全公有的資料和函式成員(比如標準庫里的pair),也可以用struct來定義private成員模擬類操作。

一般使用結構強調的就是公有,而class強調的是封裝,所以原則上如果你不需要對資料進行封裝的話你就可以優先選擇struct而不是class,反之亦然。

2樓:論宇之新宇宙觀

看你的程式需要,結構體有其優點,也有缺點。

3樓:無語翹楚

在c語言中,可以定義結構體型別,將多個相關的變數包裝成為乙個整體使用。在結構體中的變數,可以是相同、部分相同,或完全不同的資料型別。在c語言中,結構體不能包含函式。

在物件導向的程式設計中,物件具有狀態(屬性)和行為,狀態儲存在成員變數中,行為通過成員方法(函式)來實現。c語言中的結構體只能描述乙個物件的狀態,不能描述乙個物件的行為。在c++中,考慮到c語言到c++語言過渡的連續性,對結構體進行了擴充套件,c++的結構體可以包含函式,這樣,c++的結構體也具有類的功能,與class不同的是,結構體包含的函式預設為public,而不是private

結構體的一些性質和作用:

結構體和其他型別基礎資料型別一樣,例如int型別,char型別 只不過結構體可以做成你想要的資料型別。以方便日後的使用。

在專案中,結構體是大量存在的。研發人員常使用結構體來封裝一些屬性來組成新的型別。

結構體在函式中的作用不是簡便,其最主要的作用就是封裝。封裝的好處就是可以再次利用。讓使用者不必關心這個是什麼,只要根據定義使用就可以了。

c++中什麼時候用類?什麼時候用結構體?

4樓:諸葛澤熙

類就像乙個物件,有自己的變數屬性,自己的方法。是事物的抽象

結構體的話,只是在裡面儲存資料,擁有成員變數和函式。

結構體定義並不是定義乙個變數,而是定義了一種資料型別

5樓:匿名使用者

c++中類和結構體的意義是一樣的, 只不過乙個成員預設為private, 乙個為public

保留結構體這樣的定義只是為了和c相容

像struct test;

和class test;

這2個test是完全等價的

6樓:亞吉那

類就像乙個物件,有自己的變數屬性,自己的方法。是事物的抽象如:class test

}結構體的話,只是在裡面儲存資料,擁有成員變數和函式。

結構體定義並不是定義乙個變數,而是定義了一種資料型別

C語言題目,用結構體寫,C語言結構體程式設計題,求大神!

include struct date struct car int main void printf 車牌號 t載客量 t顏色 t出廠日期 n printf d t d t s t d d d vehicle.license,vehicle.busload,vehicle.color,vehicl...

c語言定義結構體變數,C語言 定義結構體變數

樂跑小子 首先,定義一個結構的一般形式為 struct結構名 成員表由若干個成員組成,每個成員都是該結構的一個組成部分。對每個成員也必須作型別說明,其形式為 型別說明符 成員名 成員名的命名應符合識別符號的書寫規定。例如 struct stu 在這個結構定義中,結構名為stu,該結構由4個成員組成。...

C語言結構體選單問題,C語言結構體實現多級選單的困惑,請高手解答

首先struct menuitem menupoint main menu 1f 這沒錯,但一般不會這麼用,加括號只是在必要時,如定義行指標獲函式指標時 typedef重定義型別更好 至於為什麼會出現error c230 menuitem unknown struct union enum tag ...