C語言 結構體從入門到精通

2021-10-03 09:22:05 字數 1499 閱讀 3418

最近老師在講解資料結構的內容,當老師講資料結構的**時,經常用到結構體這個東西,趁機複習下結構體的內容。

結構體的定義:

把一些基本型別的資料組合在一起而形成的乙個新的複合型的資料型別,這個就叫做結構體。

為什麼需要結構體:

為了表示一些複雜的事物,而基本的資料型別無法滿足相應的請求。

結構體的一般形式:

//申明乙個結構體型別,注意不是結構體變數 

struct student

;//注意分號不能少,這也相當於一條語句;

這個宣告描述了三個變數組成的結構體,但是注意,他並沒有建立乙個實際的資料物件,而是描述了乙個組成這類物件的元素。

結構體變數的申明的三種方式:

//1、先宣告結構體型別,再定義該型別的變數

struct student

;struct student st1,st2;

//2.在定義結構體型別的同時定義變數

struct student

st1,st2;

//3、不指定型別名而直接定義結構體型別變數

struct

st1,st2;

(1)結構體型別和結構體變數是不同的概念。只能對變數賦值、訪問或運算,而不能對乙個型別進行賦值、訪問或運算 。在編譯時,對型別是不分配空間的,只對變數分配空間。

(2)結構體型別中的成員可以與程式中的變數名相同,但二者不代表同一物件。

結構體變數的初始化和引用:

定義的同時可以同時賦初值,如果定義完成以後只能單個賦值。

struct

st1=

在定義結構體變數時可以對它的成員進行初始化。初始化列表是用花括號括起來的一些常量,這些常量依次賦給結構體變數中的各成員。注意:是對結構體變數進行初始化,而不是對結構體型別初始化。

# include

# include

struct stu

;int

main()

void

list

(struct stu student)

//被調函式

「.」是成員運算子,它是所有運算子中優先順序最高的,因此可以把student1.num作為乙個整體來看待,相當於乙個變數。

如何取出結構體變數的內容的幾種操作:

1.結構體變數名.成員名

2.結構體指標變數名-

>成員名(在計算機內部會轉換為 (

*指標變數名)

.成員名 的方式來執行)

# include

# include

struct stu

;int

main()

C語言 指標 從入門到精通

最近在老師在講資料結構,然後發現自己的c指標內容好多都遺忘了,在此做了個總結,趁機鞏固下c語言的知識。基本知識點歸納 指標就是位址,位址就是指標。指標變數就是存放位址的變數。如果乙個指標變數指向乙個普通變數,則 指標變數 就完全等普通變數。位址就是記憶體單元的編號。指標變數就是存放位址的變數 指標是...

c 從入門到精通 多型

多型按字面的意思就是多種形態。當類之間存在層次結構,並且類之間是通過繼承關聯時,就會用到多型。c 多型意味著呼叫成員函式時,會根據呼叫函式的物件的型別來執行不同的函式。下面的例項中,基類 shape 被派生為兩個類,如下所示 include using namespace std class sha...

Nginx從入門到精通

1 nginx配置檔案載入機制 採用nginx s reload命令載入nginx的配置檔案,master程序讀取配置檔案,建立新的worker程序,向老的worker程序傳送shutdown命令。老的worker程序不再接受新的請求,待老的請求處理完成後,就會停掉。2 location匹配機制 當...