第十二天-知识点回顾

#include <stdio.h>
/*
  1、全局变量与局部变量
     全局变量:定义在函数外部的变量
     定义:数据类型 变量名称 = 值
     声明:数据类型 变量名称
     作用域:从定义的哪一行开始直到文件结束(在没有声明的情况下)
     生命周期:从程序启动开始直到程序退出
     
   注意点:
        1、如果只有声明没有定义,那么系统自动将其初始化为0
        
  2、结构体
     1、定义结构体类型,然后通过结构类型定义结构变量
        格式:struct 结构体类型名称{ 成员类型 成员名称;... };
     2、结构体初始化
       1、先定义结构体变量然后初始化
 
       2、定义结构体变量的同时进行初始化
 
       3、结构体访问其成员使用 . 号
  3、结构体类型的多种定义方式
     1、先定义结构体类型然后定义变量
     2、定义结构体类型的同时定义变量
     3、定义匿名结构体类型同时定义变量
        1、结构体类型只能用一次
        2、不支持整体赋值
  4、结构体定义的作用域
     1、在函数外部定义的结构体类型其作用域类似全局变量,但结构体定义没有声明
     2、在函数内部定义的结构体类型其作用域与局部变量相同
  5、结构体数组:元素为结构体的数组
     结构体类型 数组名称[元素个数]
     struct Person persons[5];
     结构体数组的遍历与不同变量一致
  6、结构体指针:指向结构体变量的指针
     结构体类型 * 指针名称;
     struct Person *p;
     两种方式
     (*p).age = 10;
      p->age = 10;
   7、结构体与函数
      1、结构体变量作为函数参数传递是值传递
      2、结构体指针作为函数参数传递是地址传递
      3、结构体数组作为函数参数传递是地址传递
   8、结构体嵌套
      结构体内部可以有其他结构体类型的成员
     struct Time{
          int hh;
          int mm;
          int ss;
      };
 
     struct Date{
         int year;
         int month;
         int day;
         struct Time time;
     };
 
    注意点:
         1、不能嵌套自己类型的成员
         2、但可以嵌套自己类型的指针
  9、枚举:当某个东西只有几个固定的取值的时候,就使用枚举
     作用:用来消除魔法数字
     1、先定义枚举类型然后通过枚举类型定义枚举变量
     enum 枚举类型名称{
          元素,
          ...
     };
    注意点: 1、每一个元素都是一个标识符,代表一个常量,以后定义的变量不能与枚举中的元素重名
           2、给枚举变量赋值一定要使用枚举成员
           3、枚举一般与swicth配套使用
 
 10、typedef : 给已有的数据类型起别名
     1、基本数据类型
     2、结构体
     3、枚举
     4、指针
       1、基本数据类型的指针
       2、结构体类型的指针
       3、枚举类型的指针
       4、函数指针
       5、指向数组的指针
 
 
 */
int main(int argc, const char * argv[]) {
    
    struct Person{
        int age;
    
    };
    
    struct Person person;
    
    person.age = 10;
    
    person = (struct Person){10};
    
    struct Person p = {10};
    
    
    return 0;
}


你可能感兴趣的:(第十二天-知识点回顾)