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函式,實際軟體開發應單獨寫輸入函式,輸入驗證我只寫了性別和婚姻狀態的驗證,其餘成員的輸入驗證需要自己新增。實際開發,驗證也應單獨寫函式呼叫 三 輸...