中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

鶴山區(qū)網(wǎng)站建設(shè)關(guān)鍵詞排名點(diǎn)擊軟件

鶴山區(qū)網(wǎng)站建設(shè),關(guān)鍵詞排名點(diǎn)擊軟件,營(yíng)銷網(wǎng)絡(luò)建設(shè)怎么寫,一搜網(wǎng)站制作🌞 “少年有夢(mèng)不至于心動(dòng),更要付諸行動(dòng)。” 今天我們一起學(xué)習(xí)一下結(jié)構(gòu)體的相關(guān)內(nèi)容! 結(jié)構(gòu)體 🎈1.結(jié)構(gòu)體的聲明1.1結(jié)構(gòu)的基礎(chǔ)知識(shí)1.2結(jié)構(gòu)的聲明1.3結(jié)構(gòu)成員的類型1.4結(jié)構(gòu)體變量的定義和初始化 🎈2.結(jié)構(gòu)體成員的訪問2.1結(jié)…

在這里插入圖片描述

🌞 “少年有夢(mèng)不至于心動(dòng),更要付諸行動(dòng)?!?/strong> 今天我們一起學(xué)習(xí)一下結(jié)構(gòu)體的相關(guān)內(nèi)容!

結(jié)構(gòu)體

  • 🎈1.結(jié)構(gòu)體的聲明
    • 1.1結(jié)構(gòu)的基礎(chǔ)知識(shí)
    • 1.2結(jié)構(gòu)的聲明
    • 1.3結(jié)構(gòu)成員的類型
    • 1.4結(jié)構(gòu)體變量的定義和初始化
  • 🎈2.結(jié)構(gòu)體成員的訪問
    • 2.1結(jié)構(gòu)體變量訪問成員
    • 2.2結(jié)構(gòu)體指針訪問指向變量的成員
  • 🎈3.結(jié)構(gòu)體傳參

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

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

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

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

📝為什么會(huì)出現(xiàn)結(jié)構(gòu)體呢?在我們當(dāng)前的一些學(xué)習(xí)中,我們學(xué)過的類型都是內(nèi)置類型,例如:char short int double 等等。但是,它們無(wú)法描述一個(gè)復(fù)雜的對(duì)象,比方說人,我們很難用一個(gè)類型描述出它。相反,我們可能需要通過性別、年齡、身高、體重等等來(lái)進(jìn)行描述。
🧩對(duì)于結(jié)構(gòu)體的聲明,格式如下:

struct tag
{member-list;//成員變量的列表
}variable-list;//變量列表

📖下面,給出一個(gè)學(xué)生的結(jié)構(gòu)體的聲明:

struct Stu//struct是結(jié)構(gòu)體的關(guān)鍵字
{//學(xué)生的相關(guān)屬性char name[20];//姓名int age;//年齡char sex[5];//性別char tele[12];//電話
}s3,s4;
//s3,s4是結(jié)構(gòu)體類型的變量,但是s3,s4是全局變量。
int main()
{struct Stu s1;struct Stu s2;//s1,s2也是結(jié)構(gòu)體類型的變量,但是是局部變量return 0;
}

在這里插入圖片描述
🔎這里的話,可能有的同學(xué)在想,如果每次在主函數(shù)內(nèi)來(lái)定義一個(gè)結(jié)構(gòu)體變量都要加struct Stu是不是太麻煩了,能不能把這個(gè)去掉呢,或者說有沒有更簡(jiǎn)單的表達(dá)方法呢?我們這個(gè)時(shí)候,就需要用到typedef(typedef顧名思義是類型定義的,這里理解為類型重命名。鏈接: 關(guān)于關(guān)鍵字講解的鏈接)那么,程序可以做以下修改:

typedef struct Stu//struct是結(jié)構(gòu)體的關(guān)鍵字
{//學(xué)生的相關(guān)屬性char name[20];//姓名int age;//年齡char sex[5];//性別char tele[12];//電話
}Stu;//Stu是重命名產(chǎn)生的新的類型
int main()
{Stu s1;Stu s2;//s1,s2是結(jié)構(gòu)體類型的變量return 0;
}

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

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

struct B
{int a;short b;
};
struct C
{char c;int num;int arr[10];double* p;struct B b;struct B* p;
};

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

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

struct A
{int age;char sex;
}a1;//a1是全局變量
struct A a2;//a2也是全局變量
int main()
{struct A a3;//局部變量return 0;
}

📖當(dāng)我們想要給這些變量一些值的時(shí)候,我們就需要對(duì)變量進(jìn)行初始化:

struct A
{int age;char sex;int arr[10];
}a1;//a1是全局變量
struct A a2;//a2也是全局變量
int main()
{//對(duì)于結(jié)構(gòu)體的初始化可以用一對(duì)大括號(hào)來(lái)進(jìn)行//按照順序初始化struct A a3 = { 18,'M',{1,2,3,4,5,6,7,8,9,10} };//局部變量//給指定的成員初始化struct A a4 = { .age = 20,.arr = {6,6,6} };return 0;
}

🔎我們可以通過監(jiān)視來(lái)看看變量初始化的情況:
在這里插入圖片描述

🎈2.結(jié)構(gòu)體成員的訪問

2.1結(jié)構(gòu)體變量訪問成員

📖結(jié)構(gòu)變量的成員通過點(diǎn)操作符(.)訪問的,點(diǎn)操作符要接受兩個(gè)操作數(shù)。

下面我們給出示例,帶大家了解一下:

#include <stdio.h>
#include <string.h>
struct A
{char name[20];int age;char sex;
};
void Set_a(struct A t)
{t.age = 10;//t.name = "zhangsan";//這里我們發(fā)現(xiàn)會(huì)報(bào)錯(cuò),因?yàn)閚ame是數(shù)組名,數(shù)組是常量的地址,不能改變,這里我們就需要用到strcpy函數(shù)來(lái)進(jìn)行拷貝strcpy(t.name, "zhangsan");//字符串拷貝t.sex = 'M';
}
int main()
{struct A a = { 0 };//寫一個(gè)函數(shù)給a中存放數(shù)據(jù)Set_a(a);return 0;
}

🔎我們上面這段代碼對(duì)不對(duì)呢?變量a是否被初始化了呢?這里,我們調(diào)試著看一看:
在這里插入圖片描述
🧩我們發(fā)現(xiàn)a并沒有被初始化,這是為什么呢?

?注意:實(shí)參傳遞給形參的時(shí)候,形參是實(shí)參的一份臨時(shí)拷貝,對(duì)形參的修改不會(huì)影響實(shí)參?

🎈通過前面的學(xué)習(xí),我們知道這里應(yīng)該通過傳地址的方式來(lái)改變實(shí)參的值:

#include <stdio.h>
#include <string.h>///strcpy函數(shù)的頭文件
struct A
{char name[20];int age;char sex;
};
void Set_a(struct A *t)
{(*t).age = 10;//t.name = "zhangsan";//這里我們發(fā)現(xiàn)會(huì)報(bào)錯(cuò),因?yàn)閚ame是數(shù)組名,數(shù)組是常量的地址,不能改變,這里我們就需要用到strcpy函數(shù)來(lái)進(jìn)行拷貝strcpy((*t).name, "zhangsan");//字符串拷貝(*t).sex = 'M';
}
int main()
{struct A a = { 0 };//寫一個(gè)函數(shù)給a中存放數(shù)據(jù)Set_a(&a);return 0;
}

在這里插入圖片描述
🌞同樣的,既然這里我們用到了指針,不妨可以用指針訪問指向變量的成員!

2.2結(jié)構(gòu)體指針訪問指向變量的成員

📖通過結(jié)構(gòu)體指針來(lái)訪問成員可以通過操作符->來(lái)實(shí)現(xiàn)。

🧩上述代碼可以做以下修改,結(jié)果相同:

#include <stdio.h>
#include <string.h>
struct A
{char name[20];int age;char sex;
};
void Set_a(struct A* t)
{t->age = 10;strcpy(t->name, "zhangsan");//字符串拷貝t->sex = 'M';
}
int main()
{struct A a = { 0 };//寫一個(gè)函數(shù)給a中存放數(shù)據(jù)Set_a(&a);return 0;
}

在這里插入圖片描述

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

#include <stdio.h>
struct B
{int date[100];int num;
};
struct B b = { {1,2,3},12 };
void Print1(struct B b)
{printf("%d\n", b.num);
}
void Print2(struct B *b)
{printf("%d\n", b->num);
}
int main()
{Print1(b);Print2(&b);return 0;
}

在這里插入圖片描述

🔎對(duì)于上面兩個(gè)函數(shù)Print1和Print2,用哪個(gè)更好呢?這里我們選擇函數(shù)Print2
?注:函數(shù)傳參的時(shí)候,參數(shù)是需要壓棧的?如果傳遞一個(gè)結(jié)構(gòu)體對(duì)象的時(shí)候,結(jié)構(gòu)體過大,參數(shù)壓棧的系統(tǒng)開銷比較大,所以會(huì)導(dǎo)致性能的下降!
??結(jié)論:結(jié)構(gòu)體傳參的時(shí)候,要傳結(jié)構(gòu)體的地址!

好啦,關(guān)于結(jié)構(gòu)體的知識(shí)點(diǎn)到這里就結(jié)束啦,后期會(huì)繼續(xù)更新C語(yǔ)言的相關(guān)知識(shí),歡迎大家持續(xù)關(guān)注、點(diǎn)贊和評(píng)論!??????

http://www.risenshineclean.com/news/38913.html

相關(guān)文章:

  • 網(wǎng)站建設(shè)服務(wù)費(fèi)會(huì)計(jì)分錄品牌推廣方案案例
  • 佛山企業(yè)網(wǎng)站搭建公司百度認(rèn)證
  • 贛州網(wǎng)站優(yōu)化公司網(wǎng)站分析
  • 網(wǎng)站建設(shè)網(wǎng)頁(yè)設(shè)計(jì)用什么軟件當(dāng)下最流行的營(yíng)銷方式
  • 秦皇島網(wǎng)站建設(shè)價(jià)格我要推廣網(wǎng)
  • 麗水網(wǎng)站建設(shè)哪家好網(wǎng)址導(dǎo)航哪個(gè)好
  • 做系統(tǒng)網(wǎng)站化學(xué)sem是什么意思
  • 最牛的手機(jī)視頻網(wǎng)站建設(shè)免費(fèi)的網(wǎng)站軟件
  • 自己做的網(wǎng)站字體變成方框18歲以上站長(zhǎng)統(tǒng)計(jì)
  • 網(wǎng)站建設(shè)總體規(guī)劃百度云官網(wǎng)
  • 不登陸不收費(fèi)的網(wǎng)站鏈接seo優(yōu)化一般優(yōu)化哪些方面
  • 可以做外鏈的音樂網(wǎng)站百度廣告聯(lián)盟app下載官網(wǎng)
  • 如何給公司取一個(gè)好名字優(yōu)化網(wǎng)站關(guān)鍵詞優(yōu)化
  • ps中網(wǎng)站頁(yè)面做多大的豬八戒網(wǎng)接單平臺(tái)
  • 彩票計(jì)劃網(wǎng)站開發(fā)哪里有競(jìng)價(jià)推廣托管
  • 淘寶客優(yōu)惠卷網(wǎng)站怎么做的百度官方網(wǎng)首頁(yè)
  • 個(gè)性網(wǎng)站功能百度推廣服務(wù)費(fèi)3000元
  • 錦溪網(wǎng)站建設(shè)百度云搜索引擎官方入口
  • seo建設(shè)網(wǎng)站百度seo招聘
  • 中山做網(wǎng)絡(luò)推廣的公司廣告優(yōu)化師工資一般多少
  • 做推廣優(yōu)化的網(wǎng)站有哪些寧波最好的推廣平臺(tái)
  • wordpress站點(diǎn)臨時(shí)關(guān)閉seo自然優(yōu)化排名技巧
  • 做商城網(wǎng)站哪里買寧波seo推廣推薦公司
  • icp網(wǎng)站負(fù)責(zé)人網(wǎng)絡(luò)推廣平臺(tái)都有哪些
  • 甘南州住房和城鄉(xiāng)建設(shè)局網(wǎng)站百度一下就知道百度首頁(yè)
  • 寧波企業(yè)網(wǎng)站搭建特點(diǎn)百度一下百度一下你知道
  • 網(wǎng)站制作多久能完成廣州優(yōu)化疫情防控措施
  • 深圳做網(wǎng)站的網(wǎng)絡(luò)公2022年傳銷最新消息
  • 做曖曖視頻網(wǎng)站下載東營(yíng)網(wǎng)站建設(shè)制作
  • 什么網(wǎng)站做微信公眾賬號(hào)seo專員工作容易學(xué)嗎