码迷,mamicode.com
首页 > 编程语言 > 详细

c语言——结构体做函数参数

时间:2014-12-20 22:07:59      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:

做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语言——结构体做函数参数

标签:

原文地址:http://www.cnblogs.com/myblog-lyc/p/4175856.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!