1、结构体的声明
(1)结构体的关键词是struct
第一种声明
struct Point{
int x;
int y;
}; //第一种声明方法
第二种声明
struct Point{
int x;
int y;
}p1,p2;
第三种声明
struct {
int x;
int y;
}p1,p2;
2、结构体定义变量
在C++语言中类的成员变量可以在类中进行初始化,但是C语言的结构体是不能在结构体中对变量进行初始化,只能在结构外进行初始化。
定义变量
struct Point p1={11,12};
除此之外结构体中的变量还有float,double,char,结构体
结构体之间的赋值
struct Point p3=p1;
//or
struct Point p3;
p3=p1;
结构体成员变量是如何访问的
struct Point p1={11,12};
//用“.”运算符进行访问
printf("p1的值是:%d,%d",p1.x,p1.y);
//用指针访问结构体的变量
struct *p=&p1;
printf(p1的值是:%d,%d",p->x,p->y);
结构体做参数
数组可以做参数传递的是地址,而结构体做参数只是传递值,主函数调用函数结果没有发生改变
struct A{
int i;
};
A a;
void func1(struct A p)
{
printf("%d\n",p.i);
p.i=44;
printf("%d\n",p.i);
}
void func2(struct A *p)
{
printf("%d\n",p->i);
p->i=66;
printf("%d\n",p->i;
}
int main()
{
a.i=33;
strcut A *pt;
pt=&a;
func1(a);
func2(&a);
func2(pt);
return 0;
}