笔记2:结构体的概述与使用

来源:互联网 发布:淘宝美德威萨克斯 编辑:程序博客网 时间:2024/06/17 19:02

1、结构体的声明

声明一个结构体类型一般形式:

struct 结构体名

{

结构体所包含的成员变量;

}

例:

 struct stu

{

char name[20];

Int age;

};

 

2、定义结构体的类型变量

例:

struct stu s1,s2;

struct stu

{

char name[20];

Int age;

}s1,s2;

 

3、结构体变量的赋值与使用

struct stu s1 = {“xiaoming”, 18};

struct stu s1 = {.name = “xiaoming”, .age = 18};

s1.name = “xiaoming”;

s1.age = 18;

 

4、结构体数组

例:

struct stu s1[3] = {{“xiaoming”, 18}, {“xiaohong”, 17}, {“xiaowang”, 19}};

 

5、结构体嵌套

例:

struct A struct B

{ {

char ch; int i;

char a; struct A a;

char b; };

};

 

6、结构体指针

结构体和结构体变量是不同的概念。

结构体是一种数据类型,和intchar等是一样的,编译器不会为它分配内存。结构体变量才是实实在在的数据,才需要内存来存储。

 

1)结构体指针:

struct stu s1 = {“xiaoming”, 18}; //结构体变量

struct stu *ps1 = &s1;    //结构体指针,指向一个结构体变量

 

2)指针的使用:

.号的优先级高于*,(*pstu)两边的括号是不能少的

printf ("name = %s\n", (*ps1).name);

 

 ->是一个新的运算符,一般叫做"箭头",通过它结构体指针能直接取得结构体的成员

printf ("name = %s\n", ps1->name);

printf ("age = %d\n", ps1->age);