最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言簡明清晰講解結構體

 更新時間:2022年05月04日 16:46:05   作者:_雪菜肉絲面_  
C語言結構體(Struct)從本質上講是一種自定義的數(shù)據(jù)類型,只不過這種數(shù)據(jù)類型比較復雜,是由 int、char、float 等基本類型組成的。你可以認為結構體是一種聚合類型

本質

一些值的集合。

簡單使用

#include <stdio.h>
struct User {
	char uName[20];
	char uPass[20];
};
int main() {
	struct User u1 = {
		"abc","123"
	};
	printf("%s\n", u1.uName);
	printf("%s\n", u1.uPass);
	return 0;
}

效果:

在這里插入圖片描述

一些寫法

聲明之后,可以立即創(chuàng)建實例。

也可以單獨聲明。

#include <stdio.h>
struct User {
	char uName[20];
	char uPass[20];
} u1, u2, u3;
struct User u4;
int main() {
	struct User u5;
	return 0;
}

匿名結構體:我用了,你們別想再用。

struct {
	char uName[20];
	char uPass[20];
}x;

我套我自己

只能套指針,因為空間有限。

舉例:鏈表。

#include <stdio.h>
struct Node {
	int val;
	struct Node* next;
};
int main() {
	struct Node a = { 333,NULL };
	struct Node b = { 666,&a };
	printf("%d\n", (*b.next).val);
	return 0;
}

效果:

在這里插入圖片描述

內(nèi)存對齊

結構體放成員,是一個一個放的。

第一個放到首個地址處。

第二個開始,計算一個對齊數(shù),該數(shù)是以下兩個值的較小者:

1,VS的默認值,8。

2,該成員所占字節(jié)數(shù)。

實際的偏移量是對齊數(shù)的整數(shù)倍。

最后,結構體的大小是最大對齊數(shù)的整數(shù)倍。

舉例-int char char

#include <stdio.h>
struct A {
	int a;
	char b;
	char c;
};
int main() {
	struct A a = { 1,1,1 };
	printf("%lld", sizeof(a));
	return 0;
}

效果:8

在這里插入圖片描述

圖解:

int放在首位。

char占1字節(jié),直接放。

第二個char也是。

最后長度,按int的字節(jié)數(shù)的整數(shù)倍,也就是8。

在這里插入圖片描述

舉例-char int char

#include <stdio.h>
struct A {
	char b;
	int a;
	char c;
};
int main() {
	struct A a = { 1,1,1 };
	printf("%lld", sizeof(a));
	return 0;
}

效果:12

在這里插入圖片描述

圖解:

char直接放。

int從第四個開始放。

char直接放。

最后長度:從9開始第一個4的倍數(shù),12。

在這里插入圖片描述

舉例-char char int

#include <stdio.h>
struct A {
	char b;
	char c;
	int a;
};
int main() {
	struct A a = { 1,1,1 };
	printf("%lld", sizeof(a));
	return 0;
}

效果:8

在這里插入圖片描述

圖解:兩個char直接放。

int從下一個4的整數(shù)倍,也就是第五個開始放。

最后長度:從8開始第一個4的倍數(shù),8。

在這里插入圖片描述

由結構體指針訪問成員

就是一種箭頭的寫法。

#include <stdio.h>
struct A {
	int a;
};
int main() {
	struct A a = { 333 };
	struct A* b = &a;
	printf("%d\n", b->a);
	return 0;
}

效果:

在這里插入圖片描述

到此這篇關于C語言簡明清晰講解結構體的文章就介紹到這了,更多相關C語言結構體內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

鹿泉市| 永丰县| 清流县| 万源市| 丰镇市| 五大连池市| 杨浦区| 新宾| 建昌县| 都昌县| 周宁县| 泸定县| 永顺县| 定陶县| 蓬莱市| 鄂托克前旗| 厦门市| 宝坻区| 神木县| 盐边县| 寿宁县| 南木林县| 罗平县| 南部县| 古蔺县| 霍林郭勒市| 喀喇| 海阳市| 苍溪县| 辽宁省| 卓尼县| 濮阳市| 吐鲁番市| 远安县| 耿马| 郧西县| 汉沽区| 莱州市| 隆回县| 博乐市| 广德县|