小白眼中的C 結構體

2021-10-23 08:59:51 字數 1167 閱讀 7571

(沒辦法老提示我名字重複率太高)

如果學過c的結構體,c++的看著還其實還好,如果沒學過的話,請先看一下下面的內容:

struct name a;//建立了乙個叫a的結構體儲存個人資訊

cin>>a.age;//輸入這個人的年齡,名稱加「 . 」可以選擇某一項內容。

成員更加標準一點,這樣 . 運算子又叫做成員運算子

而初始化的話,(借用上面的例子)

struct name a=;//順序不能錯struct name a=//這個可以不加點,因為有了成員所以可以亂序

(這個是膜佬後的成果,有一說一之前沒見過)

然後就是對每乙個成員做一次賦值,此時不需要大括號了

嫌每一次都要struct+name麻煩就用typeof(struct student) student重新命名一下 (教科書般經典的例子)

還有在結構體裡面不能直接定義int a=100;(這憨批事我還真幹過)

首先,在建立變數上就給人們省事了,struct有沒有都行。

c++中的結構體定義可以放在main函式的外部,也可以在main函式的最前。

(外部宣告和內部宣告,內部只能用在主函式裡面)

初始化:支援大括號裡面什麼都不放,則所有項都置為0,包括char陣列。

支援將乙個結構體賦值給另乙個。

甚至於下面的程式也是可行的:

struct stu

student=

;

這個在c中也有,如struct name a[10]這樣的例子,本質上也是乙個陣列,因為之前提到過結構體也是一種型別。

想使用陣列第三位的年齡: a[2].age (賦值或者修改,以及進行操作)

初始化:

struct name a[2]=,};

c、c++均存在的一種限定位數的成員,可以放在結構體當中。

限定位數的效果,所以在記憶體並不是很大的情況下(如嵌入式程式設計中),這種方法還是很有效的。

unsigned int a : 4; 4 bit的空間給了a。

還有unsigned int :5這樣的定義,這樣的5 bit就是沒有定義的(目的是為了對齊)。

小白眼裡的演算法

2020年7月6號 繼昨天提到的什麼是資料結構之後,今天我們一起學習的是第二章的內容 什麼是演算法?還是希望大家能給我一下意見和建議在提公升部落格質量方面上。二.什麼是演算法 1.基本概念 我第一次接觸程式設計的時候,總是聽一些大佬提起用什麼什麼演算法來解決這個問題更好一些,當時覺得演算法就是一種高...

小白眼裡的迴圈

一般形式 switch 整形表示式 break與default的使用 沒有寫break則會直接跳轉至下乙個case或語句 default用於情況都不存在時 includeint main void 改進後 includeint main void 模型 while 條件 continue用於結束本次...

我眼中的結構體

聚合資料型別 能夠同時儲存超過乙個的單獨資料 例如c語言中的陣列和結構體 結構體是一些值的集合,這些值成為它的成員,既是一種自定義型別,也是一種聚合資料型別。1,宣告 在宣告結構體時,必須列出它包含的所有成員。struct a a僅僅為乙個標籤,單獨的a並不是結構體的型別,struct a才是。a,...