語法tips 3(結構體傳參)

2021-07-25 02:46:54 字數 742 閱讀 7990

1:如何讓系統自動告知你資料型別:

假設有如下資料型別:

#define num_of_sg (4)

#define sg_num (2)

struct oop_setting_group_unit ;

int main()

編譯時告警如下:

test.c:12:10: warning: format 『%d』 expects argument of type 『int』, 

but argument 1 has type 『struct oop_setting_group_unit *』 [-wformat=] printf("%d \r\n",max);  

由此可知,max型別為「struct oop_setting_group_unit *」型,也可知max雖定義為結構體陣列,但其實也就是結構體指標,而不是結構體資料組指標。

2:傳遞結構體陣列引數:

#define num_of_sg (4)

#define sg_num (2)

struct oop_setting_group_unit

;int fun(struct oop_setting_group_unit * dest)

int main()

結構體傳參方法

1.將結構體變數作為引數傳入函式 2.將結構體指標作為引數傳入函式 include include typedef struct test 定義乙個結構體 test void print1 test s 定義乙個函式,將結構體變數作為引數傳入函式 printf n printf d s.a void...

結構體的傳參使用 定義

在函式體中使用結構體 我們應該知道將結構體傳遞給函式有三種方式 傳遞結構體的個別成員。傳遞整個結構體。傳遞乙個指向結構體的指標。當結構體或者結構體的個別成員被傳遞給乙個函式時,它們是按值傳遞的。因此,主調函式中的結構體成員不會被被調函式所修改。按引用來傳遞乙個結構體,實際上是將結構體變數的位址傳遞過...

04 結構體兩種傳參形式

2017年6月30日13 53 15 功能 結構體變數作為實參 include struct stu void add10 struct stu st2 printf no.d nname s nscore 2f,2f,2f n st2.num,st2.name,st2.score 0 st2.sc...