int myint會在內(nèi)存中開辟一個(gè)4字節(jié)的空間
成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的樂至網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
你將myint的地址傳給test函數(shù)
那么test函數(shù)將認(rèn)為這是一個(gè)struct的首地址
前面定義struct node的結(jié)構(gòu)為4個(gè)字節(jié)的num,6個(gè)字節(jié)的char[](由于一般32位的程序的內(nèi)存空間要對其4字節(jié),所以6字節(jié)的char[]可能要占用8個(gè)字節(jié)的空間),4個(gè)字節(jié)score
test函數(shù)仍然按照約定的格式進(jìn)行操作,將myint開始單元的前4個(gè)字節(jié)填入數(shù)字100,然后接下來的字節(jié)填入HeHe的ASCII碼,字符串結(jié)束符等,然后空2個(gè)字節(jié)的位置(字對齊原則),最后在將4字節(jié)的空間填入100
由于myint的首地址和mynode的首地址不同,所以填寫時(shí)會發(fā)生錯位現(xiàn)象
你要是進(jìn)一步的測試,可以顯示各個(gè)變量的地址看看,能幫助你理解,顯示地址可以用printf("%p",a)或printf("%d",a)
這樣寫是不可以的。
應(yīng)該這么聲明:
void days(struct student * judget)
{
//省略
}
struct student s;
s.year = year;
s.month = month;
s.day = day;
days(s);//這么使用
但是我不明白為什么結(jié)構(gòu)體的名稱是student啊,這個(gè)和學(xué)生沒有關(guān)系,應(yīng)該起個(gè)相關(guān)的名稱,如time之類的,呵呵
C語言中,所有的變量都存儲在內(nèi)存中,可以通過運(yùn)算符獲得變量的內(nèi)存地址,函數(shù)調(diào)用時(shí),只需要把普通變量前加上符號,就可以達(dá)到傳遞變量地址的目的。
例如:
定義一個(gè)結(jié)構(gòu)體類型
struct?Yearmonthday
{?
int?year,?month,?day;
};
定義相關(guān)函數(shù),參數(shù)類型指定為結(jié)構(gòu)體類型指針
void?input(struct?Yearmonthday?*p1)?//函數(shù)形參p1是結(jié)構(gòu)體指針類型
{
printf("請輸入年,月,日:");
scanf("%d,%d,%d",p1-year,p1-month,p1-day);
}
在主函數(shù)中定義一個(gè)結(jié)構(gòu)體變量,調(diào)用相關(guān)函數(shù),傳遞變量地址
int?main()
{?
struct?Yearmonthday?ymd;
input(ymd);?//傳遞變量地址,以便帶回?cái)?shù)據(jù)
printf("date=%d/%d/%d\n",?ymd.year,?ymd.month,?ymd.day?);?//輸出結(jié)果
return?0;
}
1.可以把結(jié)構(gòu)體作為參數(shù)啊,
2.不去取地址的意思,是引用的意思,函數(shù)執(zhí)行時(shí)修改L的值,就直接的修改了實(shí)參的值,相當(dāng)于地址傳遞了。
3.真正調(diào)用的時(shí),如下:
SqList
tempStruct;
InitList_Sq(tempStruct)
這樣就可以了。
呵呵
網(wǎng)站標(biāo)題:c語言函數(shù)形參是結(jié)構(gòu)體 c語言形參定義
鏈接分享:http://vcdvsql.cn/article24/ddegdce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、ChatGPT、電子商務(wù)、響應(yīng)式網(wǎng)站、網(wǎng)站排名、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)