C語言結構體Struct怎麼使用

2022-04-13 12:56:44 字數 5733 閱讀 5204

1樓:匿名使用者

left, right ,是指向結構體的指標,這個結構體可以當做雙向連結串列來用。left指向指向連結串列的前驅,right指向後繼。

tshort balance;

tshort number; /* 外部可用來儲存16位值 */

tuint value; /* 外部可用來儲存32位值 */

這3個就是連結串列儲存成員。

c語言結構體的用法,

2樓:水宮御子

結構體的使用,首先要定義:

#include

struct student

;//注意要分號

//然後就可以使用了:

void main()

結構體類似於陣列,但結構體能定義不同的資料型別,這也是它的特別之處

3樓:匿名使用者

用flag表示年齡最大者在s中的位置,則可以使用return s[flag].name返回該人的姓名

4樓:

程式和例子如下。

比年齡,得序號 id, 返回 該 id 的 名字。

#include

struct date;

struct student

;char *oldest(struct student s, int n)

return s[id].name;

}main()

c語言結構體struct怎麼使用?

5樓:風翼殘念

在c語言中,可以使用結構體(struct)來存放一組不同型別的資料。結構體的定義形式為:

struct 結構體名;

結構體是一種集合,它裡面包含了多個變數或陣列,它們的型別可以相同,也可以不同,每個這樣的變數或陣列都稱為結構體的成員(member)。

結構體定義:

第一種:只有結構體定義

struct stuff;

第二種:附加該結構體型別的「結構體變數」的初始化的結構體定義

//直接帶變數名huqinwei

struct stuffhuqinwei;

也許初期看不習慣容易困惑,其實這就相當於:

struct stuff;

struct stuff huqinwei;

第三種:如果該結構體只用一個變數huqinwei,而不再需要用struct stuff yourname;去定義第二個變數。

那麼,附加變數初始化的結構體定義還可進一步簡化出第三種:

structhuqinwei;

把結構體名稱去掉,這樣更簡潔,不過也不能定義其他同結構體變數了——至少我現在沒掌握這種方法。

結構體變數及其內部成員變數的定義及訪問。

要分清結構體變數和結構體內部成員變數的概念。

就像剛才的第二種提到的,結構體變數的宣告可以用:

struct stuff yourname;

其成員變數的定義可以隨宣告進行: struct stuff huqinwei = ;

也可以考慮結構體之間的賦值:

struct stuff faker = huqinwei;

//或 struct stuff faker2;

// faker2 = faker;

列印,可見結構體的每一個成員變數一模一樣

如果不使用上邊兩種方法,那麼成員陣列的操作會稍微麻煩(用for迴圈可能好點)

huqinwei.job[0] = 'm';

huqinwei.job[1] = 'a';

huqinwei.age = 27;

huqinwei.height = 185;

結構體成員變數的訪問除了可以藉助符號".",還可以用"->"訪問。

6樓:愛你的瘋子

在turbo c中,結構也是一種資料型別, 可以使用結構變數,因此,像其它型別的變數一樣,在使用結構變數時要先對其定義。

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

指向結構體的指標是一個一直都沒有掌握好的點,希望這裡能記錄好一點,加強理解。

對於指標有幾個好處,

第一:就像指向陣列的指標比陣列本身更容易操作一樣,指向結構的指標通常也更容易操作;

第二:在早期的c中引數傳遞只能使用結構的指標;

7樓:

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

結構說明和結構變數定義:

在turbo c中, 結構也是一種資料型別, 可以使用結構變數, 因此,  象其它 型別的變數一樣, 在使用結構變數時要先對其定義。

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

struct 結構名

結構變數;

結構名是結構的識別符號不是變數名。 型別為第二節中所講述的五種資料型別(整型、浮點型、字元型、指標型和 無值型)。 構成結構的每一個型別變數稱為結構成員, 它象陣列的元素一樣, 但陣列中元素是以下標來訪問的, 而結構是按變數名字來訪問成員的。

在c語言中,結構體(struct)指的是一種資料結構,是c語言中聚合資料型別(aggregate data type)的一類。結構體可以被宣告為變數、指標或陣列等,用以實現較複雜的資料結構。結構體同時也是一些元素的集合,這些元素稱為結構體的成員(member),且這些成員可以為不同的型別,成員一般用名字訪問。

8樓:匿名使用者

left和right是結構體指標,指向另一個結構體的地址。

balance、number、value是資料儲存的部分。

這種結構體可以用在雙向連結串列、二叉樹等結構。

9樓:匿名使用者

left, right ,是指向結構體的指標,這個結構體可以當做雙向連結串列來用。left指向指向連結串列的前驅,right指向後繼。

tshort balance;

tshort number; /* 外部可用來儲存16位值 */

tuint value; /* 外部可用來儲存32位值 */

這3個就是連結串列儲存成員。

10樓:匿名使用者

結構(struct)

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

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

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

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

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

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

struct 結構名

結構變數;

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

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

無值型)。

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

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

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

struct string

person;

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

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

時上例變成:

struct string

; struct string person;

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

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

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

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

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

struct

tianyr, liuqi;

2. 結構變數的使用

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

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

結構成員的表示方式為:

結構變數.成員名

如果將"結構變數.成員名"看成一個整體,  則這個整體的資料型別與結構中

該成員的資料型別相同, 這樣就可象前面所講的變數那樣使用。

下面這個例子定義了一個結構變數, 其中每個成員都從鍵盤接收資料, 然後

對結構中的浮點數求和, 並顯示運算結果, 同時將資料以文字方式存入一個名為

wage.dat的磁碟檔案中。請注意這個例子中不同結構成員的訪問。

例3:#i nclude

main()

a; file *fp;

float wage;

char c=』y』;

fp="fopen"("wage.dat", "w");

/*建立一個檔案只寫*/

while(c==』y』||c==』y』)

/*判斷是否繼續迴圈*/  }

fclose(fp);}

c語言結構體定義

11樓:苑餘殷運浩

結構體就像陣列一樣,其中的資料是有互相聯絡的,有些情況下定義一些簡單的變數是不能反映出資料之間的內在聯絡,所以我們就把這些資料組合成一個項,而這個項中包含著很多不同的資料項,這就是結構體。

簡單理解下,就是說把一些有內在聯絡的不同變數放在一起封裝成一個整體,這就是結構體。

指標,其實就是一個存放地址的變數,指標可以指向變數,陣列,結構體等資料所在的記憶體單元。

指標就是用來通過地址去找資料的,只要你把該資料的地址給指標,那麼當你用到指向這個資料的指標時就等於在使用該資料。

12樓:

第二個struct student是定義了一個student結構體,這個明白吧。

第一個是用typedef把struct student這個結構體型別名字重新定義為student,也就是說struct student和student表示同一個事物,都是一個型別的識別符號,比如 typedef int zhengshu; 就是你把整型int重新命名為zhengshu,下面定義:int i; 和 zhengshu i; 兩句就是等價的了

13樓:

第一種是定義一個結構體並取個student結構體名,下次定義結構體是:

只要:student 《識別符號》; 乳student stu;

而第二種:必須這樣定義:struct student stu;

14樓:匿名使用者

網頁連結看這個,茅塞頓開

15樓:匿名使用者

您參考這裡

16樓:匿名使用者

#include "stdio.h"

#include "string.h"

#define n 50

struct infoma;

struct infoma funname(struct infoma namet)

struct infoma allname(struct infoma namet)

void putout(struct infoma namet)main()

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

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

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

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

c語言結構體與共用體,在C語言裡面,共用體和結構體的區別是什麼?

首先你說的很對 共同體的確佔的記憶體要比結構體小結構體佔用的記憶體空間,是其元素,佔空間的總和,而共用體是,元素中佔用空間最大的元素的空間 所以共用體在空間開銷上要小一點 但是既然是兩個不同的概念當然是不一樣的 要不就沒必要定義兩個名詞了其實在共用體所用的記憶體中已經寫入了資料 當使用其它元素時 上...