如何用函数初始化结构体
生活随笔
收集整理的這篇文章主要介紹了
如何用函数初始化结构体
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
問(wèn)題
這里主要討論函數(shù)的參數(shù)。應(yīng)該是結(jié)構(gòu)體呢。還是結(jié)構(gòu)體的地址,還是二者都行。
實(shí)驗(yàn)證明,僅僅能用結(jié)構(gòu)體的地址。
代碼
#include<stdio.h> #include<math.h> #include<stdlib.h>typedef struct {int a; //"int a=0;" is wrongint b[10]; }STU;void init_struct_point(STU *s){ //參數(shù)為數(shù)組指針s->a=100;s->b[0]=5;s->b[1]=7;printf("in f_point(), s->a %d\n",s->a);printf("in f_point(), s->b[0] %d\n\n",s->b[0]); }void init_struct(STU s){ //參數(shù)為數(shù)組s.a=1;s.b[0]=2;s.b[1]=3;printf("in f(), s.a %d\n",s.a);printf("in f(), s.[0] %d\n\n",s.b[0]); }int main(){STU s;printf("s=%d \t &s=%d\n\n",s,&s);init_struct_point(&s); //"s1"會(huì)引發(fā)編譯錯(cuò)誤printf("s=%d \t &s=%d\n\n",s,&s);printf("out f_point(), s.a %d\n",s.a);printf("out f_point(), s.b[0] %d\n",s.b[0]);printf("out f_point(), s.b[1] %d\n\n",s.b[1]);init_struct(s); //"&s1"會(huì)引發(fā)編譯錯(cuò)誤printf("out f(), s.a %d\n",s.a);printf("out f(), s.b[0] %d\n",s.b[0]);printf("out f(), s.b[1] %d\n\n",s.b[1]);system("pause");return 0; }執(zhí)行結(jié)果
遺留問(wèn)題
1.結(jié)構(gòu)體變量名到底是什么。請(qǐng)看s以及&s?
2.結(jié)構(gòu)體變量名 和 結(jié)構(gòu)體數(shù)組變量名 有什么差別和聯(lián)系? http://blog.csdn.net/hiboy_111/article/details/44454149
總結(jié)
以上是生活随笔為你收集整理的如何用函数初始化结构体的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何将finecms链接URL中的lis
- 下一篇: C 程序的存储空间记录