zoukankan      html  css  js  c++  java
  • [转载]typedef struct和struct的区别

    typedef struct tagMyStruct
        { 
         int iNum;
         long lLength;
        } MyStruct;

        上面的tagMyStruct是标识符,MyStruct是变量类型(相当于(int,char等))。

     

     

        这语句实际上完成两个操作:

          1) 定义一个新的结构类型

        struct tagMyStruct
        {   
         int iNum; 
         long lLength; 
        };

      分析:tagMyStruct称为“tag”,即“标签”,实际上是一个临时名字,不论是否有typedefstruct 关键字和tagMyStruct一起,构成了这个结构类型,这个结构都存在。

      我们可以用struct tagMyStruct varName来定义变量,但要注意,使用tagMyStruct varName来定义变量是不对的,因为struct 和tagMyStruct合在一起才能表示一个结构类型。

      2) typedef为这个新的结构起了一个名字,叫MyStruct。

        typedef struct tagMyStruct MyStruct;

      因此,MyStruct实际上相当于struct tagMyStruct,我们可以使用MyStruct varName来定义变量。

      2.

        typedef struct tagMyStruct
        { 
         int iNum;
         long lLength;
        } MyStruct;

        在C中,这个申明后申请结构变量的方法有两种:

        (1)struct tagMyStruct 变量名

        (2)MyStruct 变量名

        在c++中可以有

        (1)struct tagMyStruct 变量名

        (2)MyStruct 变量名

        (3)tagMyStruct 变量名

  • 相关阅读:
    Python基础(6)--条件、循环
    sql中limit和汇总函数的集合使用
    mysql查看表结构
    Axure RP Extension for Chrome
    安装android studio报错Failed to install Intel HAXM.
    java8 环境变量设置
    C、C++文件操作大全
    sqlite3 sqlite3_prepare、sqlite3_step使用
    C/C++获取当前系统时间
    C++ 字符串转化成浮点型
  • 原文地址:https://www.cnblogs.com/arxive/p/4688594.html
Copyright © 2011-2022 走看看