雙指針

為秦皇島等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務,及秦皇島網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務為成都做網(wǎng)站、網(wǎng)站制作、秦皇島網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
C語言結(jié)構(gòu)體傳參
?
小-黯
原創(chuàng)
關(guān)注
7點贊·2315人閱讀
目錄
C語言結(jié)構(gòu)體傳參
1. 普通傳參
1.1 測試代碼
1.2 測試結(jié)果
1.3 結(jié)果分析
2. 單指針傳參
2.1 修改結(jié)構(gòu)體數(shù)據(jù)
2.1.1 測試代碼
2.1.2 測試結(jié)果
2.1.3 結(jié)果分析
2.2 修改結(jié)構(gòu)體地址
2.2.1 測試代碼
2.2.2 測試結(jié)果
2.2.3 結(jié)果分析
3. 雙指針傳參
3.1 測試代碼
3.2 測試結(jié)果
3.2 結(jié)果分析
C語言結(jié)構(gòu)體傳參
結(jié)構(gòu)體傳參包括三種傳參方式
普通傳參:函數(shù)接收到結(jié)構(gòu)體參數(shù)后,會復制一份原來的結(jié)構(gòu)體作為形參供函數(shù)使用,而函數(shù)內(nèi)的任何操作都是對拷貝結(jié)構(gòu)體的修改,不會影響到原本的結(jié)構(gòu)體變化。
單指針傳參:函數(shù)接收的是一個結(jié)構(gòu)體的地址,該指針指向的是結(jié)構(gòu)體起始地址,也就相當于傳入了結(jié)構(gòu)體內(nèi)所有變量的地址,函數(shù)接收到該結(jié)構(gòu)體指針后,我們就可以根據(jù)地址訪問結(jié)構(gòu)體中每個變量的真實數(shù)據(jù),在函數(shù)內(nèi)對結(jié)構(gòu)體內(nèi)數(shù)據(jù)的操作,都會影響到原本結(jié)構(gòu)體內(nèi)數(shù)據(jù)的變化
雙指針傳參:函數(shù)接收的是結(jié)構(gòu)體指針變量的地址,因為一級指針代表的是結(jié)構(gòu)體的地址,在函數(shù)中能夠操作結(jié)構(gòu)體內(nèi)的數(shù)據(jù),則二級指針指向的是結(jié)構(gòu)體的地址,則同理我們可以根據(jù)二級指針訪問修改結(jié)構(gòu)體的地址
即通過一級指針,對結(jié)構(gòu)體內(nèi)數(shù)據(jù)的操作會影響到原本結(jié)構(gòu)體內(nèi)數(shù)據(jù)的變化
而通過二級指針,對結(jié)構(gòu)體地址的操作會影響到原本結(jié)構(gòu)體地址的變化,例如為結(jié)構(gòu)體分配空間
1.可以把結(jié)構(gòu)體作為參數(shù)啊,
2.不去取地址的意思,是引用的意思,函數(shù)執(zhí)行時修改L的值,就直接的修改了實參的值,相當于地址傳遞了。
3.真正調(diào)用的時,如下:
SqList
tempStruct;
InitList_Sq(tempStruct)
這樣就可以了。
呵呵
1、結(jié)構(gòu)體數(shù)組傳給指針,實質(zhì)上是不可能的,本質(zhì)上傳的是數(shù)組首地址,根據(jù)偏移來操作數(shù)組,這樣看起來好像是真在操作數(shù)組一樣。就和普通指針一樣使用,只不過它是結(jié)構(gòu)體數(shù)組。
2、例程:
typedef?struct?Student
{
char?name[10]?;
int?age?;
}Student;
#define?LEN?10?
//print?all?Student?infomation
void?fun(Student?*pStu,int?len)
{
int?i?;?
for(i?=?0?;i??len?;++i)
{
printf("%s\t%d",pStu[i].name,pStu[i].age)?;
}
}
int?main?()
{
Student?stu[LEN]?;
fun(stu,LEN)?;
}
網(wǎng)頁名稱:c語言結(jié)構(gòu)體當做函數(shù)參數(shù),C語言函數(shù)的形參
URL鏈接:http://chinadenli.net/article20/hsocjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、網(wǎng)站制作、營銷型網(wǎng)站建設(shè)、自適應網(wǎng)站、App設(shè)計、網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)