zoukankan      html  css  js  c++  java
  • C语言第四讲,typedef 关键字,以及作用域

            C语言第四讲,typedef 关键字,以及作用域

    一丶typedef关键字

      在C语言中,有typedef 关键字,这个关键字的作用就是允许你为类型定义一个新的名字,也就是 起个别的名字

    例如:

      

    typedef unsigned int DWORD

    那么以后,我们定义unsigned int 类型的变量的时候,这不用敲写 unsigned int 了.直接DWORD即可.

    例如:

      

    DWORD name = 0; 

    一般常常用在 结构体的定义,和函数指针上.

    例如:

      

    typedef struct MyStruct
    {
       int a;
       int b;    
    }MyIntStruct;  

    那么新的类型就是  MyIntStruct ,而这个类型就免去了你每次定义的时候加关键字了.

    例如:

      

    int main
    {
       // struct MyStruct IS;
       // 没定义前,要使用上面
       MyIntStruct  IS;
       IS.a = 10;      
       return 0;  
    } 

    二丶作用域

    在C语言中,编写的代码有作用域的限制.

    作用域是什么?

      简而言之,当我们定义变量的时候,这个变量的访问.要在一定区域内才能进行访问. 

    比如你在A函数定义变量a,在B函数定义变量b,那么B函数是不能使用a变量的.

    例如:

      

    #include <stdio.h>
    
    void printfB()
    {
       int b = 11;
        printf("%d
    ",b);
       
    }
          
    void printfA()
    {
      int a = 10;
      printf("%d
    ",a);
    }

      

    其中上面是函数作用域,  也就是 {    } 块语句包含的.

    代码块作用域:

      代码块作用域主要靠 { }来区分.

    例如:

      

    int main()
    {
    
       int a = 10;
       {
          int a = 11;
          printf("%d",a);    //块语句包围
       } 
       printf("%d",a);
       return 0;
    } 

    如果这样定义,则a不会重定义.且a = 11,在代码执行到 } 结束后.也不复存在了.

    文件作用域:

      文件作用域就是代码外面定义的. 也就是说全局变量. 全局作用域,在当前文件的任何一个位置都可以访问的.

    例如:

      

      

    int a = 10;  //外面声明即可.
    int main()
    {
       printf("%d",a);
       return 0;
    } 
    

      

  • 相关阅读:
    一片非常有趣的文章 三分钟读懂TT猫分布式、微服务和集群之路
    mysql+mycat搭建稳定高可用集群,负载均衡,主备复制,读写分离
    mycat读写分离+垂直切分+水平切分+er分片+全局表 测试
    LVS Nginx HAProxy 优缺点
    nginx map配置根据请求头不同分配流量到不同后端服务
    Javamail发送邮件
    java发送html模板的高逼格邮件
    学习openresty时,nginx的一个坑
    mysql数据导出golang实现
    mysql支持原生json使用说明
  • 原文地址:https://www.cnblogs.com/iBinary/p/8452963.html
Copyright © 2011-2022 走看看