struct的用法和struct的對齊原則

2021-10-10 20:35:41 字數 868 閱讀 3553

struct在c語言中作為結構體。

結構體定義:

struct stu;
使用:

struct stu a;

//或者省略關鍵字struct

stu a;

也可以定義和使用同時:

struct stu a;
在後續使用中,出現結構體型別的地方都可以在前面加struct,用來提醒別人這個型別是自定義結構體;當然也可以省略struct不寫。

如下:

void func(struct stu x)

//也可以省略struct

void func(stu x)

比如在32位系統中,定義如下兩個內容相同的結構體a和b,他們僅順序不同,輸出其大小。

#include #include using namespace std;

struct a;

struct b;

int main ();

int main (){

cout<1.  資料型別有其自身的對齊值,也就是其占用空間的大小。

[bool和char:1] 、[short:2] 、[ int 和float :4] 、[long long和double :8]

2. 結構體或者類的自身對齊值是其成員型別中自身對齊值最大的那個值。

比如結構體中有long long,那麼結構體就按8位元組對齊。

3. 用語句#pragma pack (value)可以指定對齊值為value。

4. 當存在指定對齊值時,我們實際的對齊值按照 結構體和類的自身對齊值和指定對齊值中小的那個值。

struct和typedef的用法和區別

struct和typedef的用法和區別 一直有點搞不太清楚這兩者,今天總算弄明白了 總結一下 首先,這兩者在c和c 中使用是不同的 先說c1.1 在c中定義乙個結構體型別的話 struct student 這樣的話,以後每一次宣告student型別的變數的話就要這樣寫 struct student...

typedef和struct的用法問題(c)

若有 typedef struct str,p,str 5 typedef int int 尾部要有 int a 相當於int a typede int int p int p p a 相當於int p a 注意 define int p int int p a,b 相當於int a int b 與...

Struct多型用法

struct多型用法 struct和class有很多相通之處,都是乙個資料型別的集合。struct也同樣可以實現class的多型用法。關鍵之處是指標的指向和位址的使用。include struct s1 struct s2 int main s1 s1 s2.ss1 s2 ps2 s2 s1 pri...