真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C語言——結(jié)構(gòu)體-創(chuàng)新互聯(lián)

目錄

按需設(shè)計(jì)可以根據(jù)自己的需求進(jìn)行定制,成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)構(gòu)思過程中功能建設(shè)理應(yīng)排到主要部位公司成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)的運(yùn)用實(shí)際效果公司網(wǎng)站制作網(wǎng)站建立與制做的實(shí)際意義

導(dǎo)語:

思維導(dǎo)圖:

1、結(jié)構(gòu)體的聲明

1.1 結(jié)構(gòu)的基礎(chǔ)知識?

1.2 結(jié)構(gòu)的聲明

1.3 結(jié)構(gòu)成員的類型?

1.4?結(jié)構(gòu)體變量的定義和初始化

2、結(jié)構(gòu)成員訪問

3.結(jié)構(gòu)體傳參

結(jié)語:

導(dǎo)語:

本篇文章講解結(jié)構(gòu)體的基礎(chǔ)知識,對結(jié)構(gòu)體有一個基本的認(rèn)識,能看懂并會使用結(jié)構(gòu)體。

思維導(dǎo)圖:

1、結(jié)構(gòu)體的聲明 1.1 結(jié)構(gòu)的基礎(chǔ)知識?

結(jié)構(gòu)是一些值的集合,這些值稱為成員變量。結(jié)構(gòu)的每個成員可以是不同類型的變量。

之前我們學(xué)過一種集合的概念——數(shù)組,數(shù)組就是一組相同元素的集合。而我們現(xiàn)在了解的是一些值的集合,結(jié)構(gòu)的成員可以是不同類型。

那為什么會有結(jié)構(gòu)這個東西呢?原因很簡單,我們生活中有很多復(fù)雜對象(如圖),用一個類型變量無法描述清楚,所以造出來結(jié)構(gòu)來描述我們這些復(fù)雜對象。

1.2 結(jié)構(gòu)的聲明

結(jié)構(gòu)的語法聲明:

struct Stu
{
	//結(jié)構(gòu)成員
	char gender[10];
	int age;
	char name[20];
	float grade;
};

1.3 結(jié)構(gòu)成員的類型?

結(jié)構(gòu)的成員可以是標(biāo)量、數(shù)組、指針,甚至是其他結(jié)構(gòu)體。

這是一個類型,就和char、int、flaot一樣,只是這里面可以包含各種類型,可以理解為結(jié)構(gòu)體是“綜合型選手”。

1.4?結(jié)構(gòu)體變量的定義和初始化

結(jié)構(gòu)體變量的定義:

struct Stu
{
	//結(jié)構(gòu)成員
	char gender[10];
	int age;
	char name[20];
	float grade;
}s3,s4;//s3和s4也是結(jié)構(gòu)體變量 -- 全局變量
int main()
{
	struct Stu s1,s2;//s1和s2是結(jié)構(gòu)體變量 --局部變量
	return 0;
}

結(jié)構(gòu)體變量的初始化:

struct Stu
{
	char gender[10];
	int age;
	char name[20];
	float grade;
}s3,s4;
struct P
{
	char address[50];
	struct Stu s5;//結(jié)構(gòu)體嵌套
	int class;
};
int main()
{
	struct Stu s1 = { "男",22,"李華",98.2f };//初始化
	struct P s2 = { "武漢",{"女",21,"珍妮",78.4f},108 };//嵌套訪問
	return 0;
}
2、結(jié)構(gòu)成員訪問

結(jié)構(gòu)變量的成員是通過點(diǎn)操作符(.)訪問的,點(diǎn)操作符接收兩個操作數(shù)。
代碼示例:

struct Stu
{
	char gender[10];
	int age;
	char name[20];
	float grade;
}s3,s4;
struct P
{
	char address[50];
	struct Stu s5;//結(jié)構(gòu)體嵌套
	int class;
};
int main()
{
	struct Stu s1 = { "男",22,"李華",98.2f };//初始化
	struct P s2 = { "武漢",{"女",21,"珍妮",78.4f},108 };//嵌套訪問
	printf("%s %d %s %.2f\n", s1.gender, s1.age, s1.name, s1.grade);
	printf("%s %s %d %s %.2f %d\n", s2.address,s2.s5.gender,s2.s5.age,s2.s5.name,s2.s5.grade,s2.class);//嵌套訪問
	return 0;
}

另外,也可也通過指針訪問變量的成員

struct Stu
{
	char gender[10];
	int age;
	char name[20];
	float grade;
}s3,s4;
void Print1(struct Stu s)
{
	//結(jié)構(gòu)體變量.成員
	printf("%s %d %s %.2f\n", s.gender, s.age, s.name, s.grade);
}
void Print2(struct Stu* s)
{
	printf("%s %d %s %.2f\n", (* s).gender, (*s).age, (*s).name, (*s).grade);
	//結(jié)構(gòu)體指針->成員
	printf("%s %d %s %.2f\n", s->gender, s->age, s->name, s->grade);
}
int main()
{
	struct Stu s1 = { "男",22,"李華",98.2f };//初始化
	Print1(s1);//傳值調(diào)用
	Print2(&s1);//傳址調(diào)用
	return 0;
}
3.結(jié)構(gòu)體傳參

剛才我們通過傳值調(diào)用和傳址調(diào)用兩種形式訪問結(jié)構(gòu)體成員,那么哪種方法更好呢?

在我看來,傳址調(diào)用肯定是好一點(diǎn)的。

傳值調(diào)用參數(shù)會壓棧,重新開辟內(nèi)存,對數(shù)據(jù)進(jìn)行存儲,另外在傳遞的時候也會消耗時間,如果結(jié)構(gòu)體過大,那傳參的壓力比較大,會導(dǎo)致性能的下降;

傳址的話,把地址傳給函數(shù),一個地址的字節(jié)為4個字節(jié)或8個字節(jié),這時候傳參的壓力就會小一點(diǎn)。

結(jié)語:

本次講解的內(nèi)容較為基礎(chǔ),所需掌握的是了解什么是結(jié)構(gòu)體,如何訪問結(jié)構(gòu)體成員。要知道結(jié)構(gòu)體也是一個類型(自己創(chuàng)建的),里面包含了各個類型,可以用來描述較復(fù)雜的對象。
好了,本次分享就到這里,如果對大家有幫助的話,不妨點(diǎn)個贊支持一下,蟹蟹,再見!

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


本文名稱:C語言——結(jié)構(gòu)體-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://weahome.cn/article/isjhj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部