[C语言]结构体

结构是一些值的集合,这些值被称为成员变量。结构的每个成员可以是不同类型的变量。 

结构体为复杂对象:

人:名字+电话+性别+身高

书:书名+作者+定价+书名

struct Peo
{
	char name[20];
	char tele[12];
	char sex[5];
	int high;
}; p1, p2;//p1和p2是两个全局的结构体变量

int main()
{
	struct Peo p1 = { "张三","15596668862","男",181 };

	printf("%s %s %s %d\n", p1.name, p1.tele, p1.sex, p1.high);//结构体变量.成员变量

    return 0;
}

p1,p2是全局变量,p是局部变量。

内部包含结构体的结构体如何初始化?

struct St
{
	struct Peo p;
	int num;
	float f;
};
int main()
{
    //初始化结构体
    struct St s = { {"list","15596668888","女",166},100,3.14f };
    //打印包含结构体的结构体。
	printf("%s %s %s %d %d %f\n", s.p.name, s.p.tele, s.p.sex, s.p.high, s.num, s.f);

    reture 0;
}

括号中的{  }包含的是另一结构体的内容: 

struct St s ={ {" "," "," ",    }, , }

当形参为指针时,如何使用结构体

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
struct Peo
{
	char name[20];
	char tele[12];
	char sex[5];
	int high;
}; p1, p2;//p1和p2是两个全局的结构体变量

void print1(struct Peo* sp)
{
	printf("%s %s %s %d\n", sp->name, sp->tele, sp->sex, sp->high);//结构体指针->成员变量
}

int main()
{
    struct Peo p1 ={"张三","1558976577","男",180};
    print2(&p1);
    return 0;
}

结构体指针->成员变量

sp->name = (*sp).name

猜你喜欢

转载自blog.csdn.net/2302_79491024/article/details/133953438