#include
intmain()
{/***************************************************
*定义结构体变量的3种方式
* 1、先定义类型,再定义变量(分开定义)
* struct Student
* {
* int age;
* };
* struct Student stu;
* 2、 定义类型的同时定义变量(stu)
* struct Student
* {
* int age;
* } stu;
* 后面还可以通过结构体类型定义其他的结构体变量
* struct Student stu2;
* 3、 定义类型的同时定义变量(省略了类型名称)
* struct
* {
* int age;
* } stu;
* 该类型只能使用一次,后面不能再定义该类型的变量了。
*
* 结构体类型的作用域
* 1、定义在函数外面:全局有效(从定义类型的那行开始,一直到文件结尾)
* 2、定义在函数(代码块)内部:局部有效(从定义类型的那行开始,一直到代码块结束)
* 注意:结构体类型不能重复定义
* 结构体可以利用=进行赋值。
*
****************************************************/
structPerson
{char *name;
};struct Person p = {"zhangsan"};
printf("Person %s\n", p.name);structStudent
{intno;char *name;
}stu;
stu.no= 1;
stu.name= "lisi";
printf("Person no = %d, name = %s\n", stu.no, stu.name);struct{char *name;
} person;
person.name= "wangwu";
printf("name = %s\n", person.name);struct Person p1 = {"xiaohua"};structPerson p2;
p2=p1;
printf("p1 name = %s\n", p1.name);
printf("p2 name = %s\n", p2.name);return 0;
}