結構體變數是什麼意思,「結構型別變數」是什麼,與「結構體成員變數」有什麼區別??

2021-05-04 18:25:50 字數 3169 閱讀 7163

1樓:醉酒君

結構體是一種新資料型別,屬構造型別,它由若干型別各異的「成員」組成;描述這些「成員」可以使用任何基本資料型別,甚至是另外一種構造資料型別都行。

定義結構型別使用關鍵字「 struct」。

下邊幾行定義結構型別 person ,並用該型別定義結構變數 zhangshan 和結構陣列 class_one[100] :

struct person

; /* 注意這裡有分號 */

struct person zhangshan, class_one[100];

現在,再定義一個商品結構型別 goods ,設商品包含屬性有:商品名、商品**、廠商、單價、質量。把相同型別的成員定義在一行, goods 可定義如下:

struct goods

;struct 是結構體的關鍵字, goods 是結構體名,花括號內的所有變數是這個結構體的成員。這種寫法雖然節省了程式行,但降低了可讀性,故不建議初學者這樣寫。

綜上,結構體型別簡稱為結構型別,其定義格式為:

struct < 結構體名 >

;二、結構體型別變數的定義

結構體變數簡稱為結構變數,它由結構型別定義,有三種定義方法。下面以定義結構型別 book 和結構變數 mybook 、 storybook 為例說明之。

1. 先定義結構型別,再定義結構變數。

struct book /* 定義結構體型別 */

;struct book mybook, storybook;

用這種方法定義結構變數,是最常用的方法,但須注意不能省略關鍵字「 struct 」。還可以在定義結構變數的同時給它的成員賦初值。如:

struct book /* 定義結構體型別 */

;struct book mybook = , storybook;

則, mybook 變數的 price = 24.7 。

2. 定義結構型別的同時定義結構變數。

struct book /* 定義結構體型別 */

struct book mybook, storybook;

3. 不定義結構型別,直接定義結構變數。

struct /* 不定義結構型別名 */

struct book mybook, storybook;

需要說明的是,當某結構型別的成員又是另外一個結構型別時,稱巢狀定義,其定義方法如下:

struct brith_date

;struct

student_01 , employee ;

此例直接定義了 student_01 和 employee 兩個變數,但是沒有定義此結構體的名字,因此不能再定義與 student_01 和 employee 同類的其它結構變數了。

2樓:仙戈雅

變數名列表就是在定義結構體時,同時定義了2個或2個以上該結構體型別的變數。

比如struct 結構體名

變數名1,變數名2,變數名3,變數名n;

上面的 變數名1至變數名n就是變數名列表,它多數是由2個或2個以上組成的(也可以只有1個或者不宣告變數也行)。

3樓:匿名使用者

結構體是一種使用者自定義的資料型別,其實是一組相關變數的集合。例如,要存放學生的資訊,包括學號,姓名,性別,成績等,就可以用結構體變數。在c語言中定義結構體型別及變數如下。

先定義結構體型別struct student;再用結構體型別定義結構體變數,struct student stu;結構體變數成員的引用。stu.numstu.

namestu.***stu.score

4樓:匿名使用者

typedef struct studentstudent;

上面定義了一個結構體。

student st; //這就定義了一個結構體變數,st是變數的名稱,student是上面定義的結構體型別

5樓:匿名使用者

結構體變數的定義 結構體是一種資料型別(像int、char、flaot是資料型別一樣),可以用它定義變數。

用結構體型別定義變數的方式有三種:

一、先定義結構體型別,再定義變數一般形式:struct 結構體名;struct 結構體名 變數名錶列;

例、struct student

變數名錶列;

例:struct student

變數名錶列;(用無名結構體直接定義變數只能一次)例:struct

{int  num;    /* 學號 */char  name[20]; /* 姓名 */char  ***;    /* 性別 */int   age;    /* 年齡 */float score;   /* 成績 */char  addr[30]; /* 地址 */}student1, student2;

6樓:匿名使用者

位域結構體~一般網路傳輸等用得上, 冒號後面跟的數字代表佔的位數.

定義的是byte有什麼問題? 不管是byte還是int都一樣的啊, 當然unsigned是不一樣的...

「結構型別變數」是什麼,與「結構體成員變數」有什麼區別??

7樓:久落江邊

1.c的結構體和c++結構體的區別

1.1 c的結構體內不允許有函式存在,c++允許有內部成員函式,且允許該函式是虛擬函式。所以c的結構體是沒有建構函式、解構函式、和this指標的。

1.2 c的結構體對內部成員變數的訪問許可權只能是public,而c++允許public,protected,private三種。

1.3 c語言的結構體是不可以繼承的,c++的結構體是可以從其他的結構體或者類繼承過來的。

以上都是表面的區別,實際區別就是程序導向和麵向物件程式設計思路的區別:

c的結構體只是把資料變數給包裹起來了,並不涉及演算法。

而c++是把資料變數及對這些資料變數的相關演算法給封裝起來,並且給對這些資料和類不同的訪問許可權。

c語言中是沒有類的概念的,但是c語言可以通過結構體內建立函式指標實現物件導向思想。

2.c++的結構體和c++類的區別

2.1 c++結構體內部成員變數及成員函式預設的訪問級別是public,而c++類的內部成員變數及成員函式的預設訪問級別是private。

2.2 c++結構體的繼承預設是public,而c++類的繼承預設是private。

公司股權結構是什麼意思,公司股權結構指什麼

股權結構指的是不同性質的股份所佔全部股份的比例及其相互關係。簡單點說就是公司內某一位股東或者某一類股東佔有多少公司的股權,就相應的對公司享有多少權利,承擔多少責任。通過調整股東手中股權的比例,或者對某一類股權的權能進行調整,就可以對公司的管理權或者盈餘的分配方式等內容進行相應的改變。所以說,股權結構...

qsort結構體排序方法是什麼

編譯器函式庫自帶的快速排序函式。使用qsort 排序並用 bsearch 搜尋是一個比較常用的組合,使用方便快捷。qsort 的函式原型是 void qsort void base,size t num,size t width,int cdecl compare const void const ...

結構性失業是什麼東西,結構性失業是什麼意思?

結構性失業 structural unemployment 經濟產業的每次變動都要求勞動力 能迅速適應變動,但勞動力市場的結構特徵卻與社會對勞動力需求不吻合,由此而導致的失業被稱為 結構性失業 x0a結構性失業,主要是由於經濟結構 包括產業結構 產品結構 地區結構等 發生了變化,現有勞動力的知識 技...