C语言-----结构类型

结构体
结构体可以申明在函数内部,也可申明在函数外部;
申明在函数内部的结构体只在函数内部有效,所以一般都申明在函数外部;
申明格式 :

	struct point{
		int x;
		int y;
};
struct point p1, p2;

struct {
		int x;
		int y;
}; p1, p2;  // P1 , P2 都是无名结构体;

struct poit {
		int x;
		int y;
}; p1, p2;

结构体初始化:
struct poit p1 = {1, 21};
struct poit p1 = {2, 21};
结构体通过 “.” 来访问其成员;

结构体指针:

结构变量名字并不是结构变量的地址,必须要使用&运算符;

struct date *pDate = &today;

指向结构的指针:

struct date {
		int month;
		int day;
		int year;
} myday;
**struct date *p = &myday;
(*p).month = 12;  // 直接访问;
p->month = 12;  // 间接访问;**

结构体作为函数参数:

int number_of_day(strcut date d);

整个结构体可以作为函数的值传入函数;
这事是在函数内部新建一个结构变量,并复制调用者的结构值,并不对原结构体做任何改变;
也可返回一个结构;(返回结构将改变原结构得值)

结构数组:

struct data dates[100];
struct date dates[] = {
{4, 5, 2005}, {2, 4, 2005}};

自定义数据类型—typedef

tyoedef struct node {
	int date;
	struct node *next;
}anode;

这样, anode 就可替代 struct node
共用体
存储:
所有成员共享一个空间;
同一时间只有一个成员是有效的;
union 的大小是其最大的成员;
初始化:
对第一个成员做初始化;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值