首页 > 代码库 > c语言——结构体做函数参数
c语言——结构体做函数参数
做ICMP攻击想把IP作为用户输入,突然发现自己连传递结构体参数都不会,这才先从小的程序试验一下,弄清楚以后才能接着进行。
first,传递结构体变量:
#include <stdio.h>struct para{char *a;int b;};void print(struct para f){ printf("a=%s\nb=%d\n",f.a,f.b);}void main(){ struct para p; p.a="abc"; p.b=12; print(p);}
second,传递结构体指针:
#include <stdio.h>struct para{char *a;int b;};void print(struct para *f){ printf("a=%s\nb=%d\n",f->a,f->b);}void main(){ struct para p; p.a="abc"; p.b=12; print(&p);}
如果定义结构体指针,一定要先为其分配空间,不然后面赋的值没地方存放啊。用malloc分配,记得加上头文件。
不过结构体指针引用结构体成员,就要用->这个符号了。
#include <stdio.h>#include<stdlib.h>struct para{char *a;int b;};void print(struct para *f){ printf("a=%s\nb=%d\n",f->a,f->b);}void main(){ struct para *p; p=(struct para*)malloc(sizeof(struct para)); p->a="abc"; p->b=12; print(p);}
这好像是大一学的内容,都快毕业了竟然忘记了,都不好意思说自己是计算机专业的了……
c语言——结构体做函数参数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。