关闭

C语言结构体指针在函数调用中的使用

2093人阅读 评论(0) 收藏 举报
分类:

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

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

我实验的程序如下:

#include <stdio.h>

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.作为函数参数时,要分清指针还是变量。要是指针就直接传入,要是变量就取地址&。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:25623次
    • 积分:411
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:13篇
    • 译文:0篇
    • 评论:6条
    文章分类
    最新评论