c 結構體怎麼用,c 裡用結構體好嗎?

2021-12-25 13:45:32 字數 2081 閱讀 4444

1樓:歐文君愛分享

結構(struct)

結構是由基本資料型別構成的、並用一個識別符號來命名的各種變數的組合。

結構中可以使用不同的資料型別。

1. 結構說明和結構變數定義

在turbo c中, 結構也是一種資料型別, 可以使用結構變數, 因此, 象其它

型別的變數一樣, 在使用結構變數時要先對其定義。

定義結構變數的一般格式為:

struct 結構名

結構變數;

結構名是結構的識別符號不是變數名。

型別為第二節中所講述的五種資料型別(整型、浮點型、字元型、指標型和

無值型)。

構成結構的每一個型別變數稱為結構成員, 它象陣列的元素一樣, 但陣列中

元素是以下標來訪問的, 而結構是按變數名字來訪問成員的。

下面舉一個例子來說明怎樣定義結構變數。

struct string

person;

這個例子定義了一個結構名為string的結構變數person, 如果省略變數名

person, 則變成對結構的說明。用已說明的結構名也可定義結構變數。這樣定義

時上例變成:

struct string

; struct string person;

如果需要定義多個具有相同形式的結構變數時用這種方法比較方便, 它先作

結構說明, 再用結構名來定義變數。

例如:struct string tianyr, liuqi, ...;

如果省略結構名, 則稱之為無名結構, 這種情況常常出現在函式內部, 用這

種結構時前面的例子變成:

struct

tianyr, liuqi;

2. 結構變數的使用

結構是一個新的資料型別, 因此結構變數也可以象其它型別的變數一樣賦值、

運算, 不同的是結構變數以成員作為基本變數。

2樓:匿名使用者

和類的用法完全一樣, 唯一的區別是裡面的變數和函式預設是public的, 可以隨便訪問.

3樓:匿名使用者

struct 結構體名;

c++裡用結構體好嗎?

4樓:飄渺世間天

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

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

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

5樓:論宇之新宇宙觀

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

6樓:無語翹楚

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

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

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

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

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

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

用結構體知識程式設計, 用C 結構體的知識怎麼做啊?

比一般意義的排序演算法多了一層邏輯就是,判斷一項的同時,如果相同,要繼續判斷相應結構中的其他項。你參考下資料庫sql很容易實現啊 不知道你這個結構體是什麼東西。在struct中定義相應函式進行處理 用c 結構體的知識怎麼做啊?include struct complex complex add co...

c語言結構體別名定義問題,C語言結構體別名定義問題

typedef struct stu linklist 此處第一了一個型的型別,即struct stu 即指向結構體stu的指標 所以head的型別也就是struct stu head為一個指向stu結構體型別的指標。但是並沒有未其分配具體的空間。可以將一個已定義為stu結構體的指標賦給它。c語言給...

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

根據題意 一 教師資訊定義為結構體,其成員年月也為結構體 可直接定義成兩個成員變數,本題沒有強制要求 婚姻狀態採用共用體型別。二 輸入資訊直接寫在main函式,實際軟體開發應單獨寫輸入函式,輸入驗證我只寫了性別和婚姻狀態的驗證,其餘成員的輸入驗證需要自己新增。實際開發,驗證也應單獨寫函式呼叫 三 輸...