#include <stdio.h>
int main()
{
/***************************************************
*定义结构体变量的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、定义在函数(代码块)内部:局部有效(从定义类型的那行开始,一直到代码块结束)
* 注意:结构体类型不能重复定义
* 结构体可以利用=进行赋值。
*
****************************************************/
struct Person
{
char *name;
};
struct Person p = {"zhangsan"};
printf("Person %s\n", p.name);
struct Student
{
int no;
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"};
struct Person p2;
p2 = p1;
printf(" p1 name = %s\n", p1.name);
printf(" p2 name = %s\n", p2.name);
return 0;
}
Person zhangsan
Person no = 1, name = lisi
name = wangwu
p1 name = xiaohua
p2 name = xiaohua