结构体自定义指针函数c语言,C语言结构体指针在函数调用中的使用

接触嵌入式编程已经有一段时间了,平时的编程中会经常遇到结构体,但是就直接拿来用了,没有注意过细节,结果遇到问题就纠结了。趁这个机会,研究了一下C语言的结构体和结构体指针,顺便总结一下!

注:关于结构体的三种形式,可以自己研究研究。

我实验的程序如下:

#include struct stu

{

char name[20];

long number;

float score[4];

};

struct data

{

int day;

int month;

int year;

};

int add(struct stu *ss1, struct stu *ss2)

{

return ss1->number+ss2->number;

}

int main()

{

struct stu *s3,*s4,s5,s6;

//s3 = malloc(sizeof(struct stu));

//s4 = malloc(sizeof(struct stu));

s3 = &s5;

s4 = &s6;

s3->number = 1;

s4->number = 2;

s5.number = 3;

printf("%d\n",s3->number);

printf("%d\n",s4->number);

printf("%d\n",s5.number);

printf("%d\n",add(s3,&s5));

printf("%d\n",sizeof(struct stu));

return 0;

}注意到一下几点:

1.定义结构体指针后,一定要给它分配空间,有两种方式,一种死malloc,另一种是用一个结构体变量的地址给他赋值。

2.通过结构体指针访问接头体成员,用->;通过结构体变量访问成员,用.;并且优先级:.高于*。

3.作为函数参数时,要分清指针还是变量。要是指针就直接传入,要是变量就取地址&。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值