1、結構體數組傳給指針,實質上是不可能的,本質上傳的是數組首地址,根據偏移來操作數組,這樣看起來好像是真在操作數組一樣。就和普通指針一樣使用,只不過它是結構體數組。

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網站設計、網站建設、企業(yè)官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯(lián)網時代的韶山網站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!
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)?;
}
j假如函數形式如下
void fun(struct example t)
{
}
可以在main函數中調用fun(eg[1]);
1、如果在函數外定義的結構數組,又要在一個函數中進行輸入、輸出,通常情況下,其參數傳遞類型需要傳址,即
void shuchu(struct std **cansu);
void shuchu(struct std *cansu[]);
這樣調用改為 shuchu(aa);
對函數內的相應操作改為指針操作即可。
2、通常情況下,對于一個系統(tǒng)設計而言,其輸入輸出是分開的,也即在2個函數中,從系統(tǒng)分析而言,建議分開。當然,就測試而言,是可以的。
3、如果一定要采用2維數組做參數,按照對于多維數組做參數的要求,前幾維一定要給出確切的數值
如2維: void shuchu(struct std cansu[5][]) 就可以了。
函數定義和聲明的參數應該是: int oid_check(struct snmp_seq sp, struct rmc1207 * ramp, int BUFFER_SIZE);
函數調用: flag=oid_check(sp, ramp, BUFFER_SIZE);
-------------------------------------------------------------------------------
在這里, ramp 是結構體數組的指針
標題名稱:c語言結構體數組函數參數,c語言中結構體數組
本文鏈接:http://chinadenli.net/article21/dsicjcd.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供面包屑導航、網站維護、網站導航、靜態(tài)網站、建站公司、品牌網站制作
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)