C语言结构体注意点

#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
", p.name);

     struct  Student
     {
         int no;
         char *name;
     }stu;
     stu.no = 1;
     stu.name = "lisi";
     printf("Person no = %d, name = %s
", stu.no, stu.name);

     struct
     {
         char *name;
     } person;
     person.name = "wangwu";
     printf("name = %s
", person.name);

     struct  Person p1 = {"xiaohua"};
     struct  Person p2;
     p2 = p1;
     printf(" p1 name = %s
", p1.name);
     printf(" p2 name = %s
", p2.name);
     return 0;
}
Person zhangsan
Person no = 1, name = lisi
name = wangwu
 p1 name = xiaohua
 p2 name = xiaohua
原文地址:https://www.cnblogs.com/heml/p/3530918.html