zoukankan      html  css  js  c++  java
  • typedef在C和C++的区别?

    一、struct定义结构体
    1、先声明结构体类型再定义变量名
    struct name
    {
    member ..
    };
    name A;...

    如:
    struct student
    {
    int a;
    };
    student stu1,stu2;
    若在c语言中定义,应该加上struct:
    struct student stu1,stu2;
    2、一边声明类型同时定义变量
    struct name{
    member..
    }A,B..;

    struct apple
    {
    int b;
    }app1;//app1是一个变量
    3、直接定义结构体类型变量
    struct
    {
    int a;
    }app2;

    二、typedef struct定义结构体

    例子:
    typedef struct rabbit
    {
    int rab;
    }tt;//tt实际是struct rabbit的别名

       先定义一个结构体类型
    struct rabbit
    {
    int rab;
    };
       然后再为这个结构体类型起别名
    typedef struct rabbit tt;

    此外:
    typedef struct{
    int a;
    }A,A1,A2,*A;

    相当于:
    typedef struct{
    int a;
    }A;
    typedef A A1;
    typedef A A2;
    typedef A *A;
    此时,A1,A2,A都是结构体类型,声明变量时用任何一个都可以。
    而如果在C++中没有typedef关键字,它们是不同的三个对象。

    typedef struct rabbit
    {
    int a;
    }A,*A;
    其中:A equal to struct rabbit;
             *A equal to struct *rabbit;

    (注:此部分内容参考自网络其他博客的内容,自己做个笔记记下来。总是混淆) 

  • 相关阅读:
    集合
    16
    最常使用Eclipse快捷键
    Java小菜的进阶之路(异常捕获与处理(一))
    0803作业
    0801作业
    java中this与super的见解
    7.27作业
    7.23作业
    java内部类的浅谈(错误之处还请见谅!)
  • 原文地址:https://www.cnblogs.com/AKsnoopy/p/8306595.html
Copyright © 2011-2022 走看看