博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c语言——结构体做函数参数
阅读量:6152 次
发布时间:2019-06-21

本文共 909 字,大约阅读时间需要 3 分钟。

做ICMP攻击想把IP作为用户输入,突然发现自己连传递结构体参数都不会,这才先从小的程序试验一下,弄清楚以后才能接着进行。

first,传递结构体变量:

#include 
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 
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 
#include
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);}

这好像是大一学的内容,都快毕业了竟然忘记了,都不好意思说自己是计算机专业的了……

 

转载于:https://www.cnblogs.com/myblog-lyc/p/4175856.html

你可能感兴趣的文章
将标题空格替换为 '_' , 并自动复制到剪切板上
查看>>
List Collections sort
查看>>
Mysql -- You can't specify target table 'address' for update in FROM clause
查看>>
使用局部标准差实现图像的局部对比度增强算法。
查看>>
2017-2018-1 20165313 《信息安全系统设计基础》第八周学习总结
查看>>
《代码敲不队》第四次作业:项目需求调研与分析
查看>>
菜鸡互啄队—— 团队合作
查看>>
HttpWebRequest的GetResponse或GetRequestStream偶尔超时 + 总结各种超时死掉的可能和相应的解决办法...
查看>>
SparseArray
查看>>
第二章
查看>>
android背景选择器selector用法汇总
查看>>
[转]Paul Adams:为社交设计
查看>>
showdialog弹出窗口刷新问题
查看>>
java
查看>>
Vue.js连接后台数据jsp页面  ̄▽ ̄
查看>>
关于程序的单元测试
查看>>
mysql内存优化
查看>>
都市求生日记第一篇
查看>>
Java集合---HashMap源码剖析
查看>>
SQL优化技巧
查看>>