• (三)c语言之typedef 与 struct详细用法


    typedef用法

     typedef作用:为一种数据类型取一个别名 (简化复杂的类型声明)

    typedef int t1; 
    typedef char t2; 
    
    int main()
    {
            t1 a = 88; 
            t2 b = 'p';
            printf("a=%d  b=%c
    ", a, b); 
    }
    

      

    struct用法

    struct Node: 代表结构体的一种数据类型

    // 定义结构体的同时定义变量t1
    struct Node
    {
            int data;
            char *p;
    } t1;
    t1.data; // 使用
    // t1是变量
    
    // 定义结构体之后再定义变量t1
    struct Node
    {
            int data;
            char *p;
    };
    struct Node t1; // 使用前定义
    struct Node t2;
    t1.data;  // 使用
    t2->p;
    
    
    // 定义结构体,但不定义结构体名字Node
    struct
    {
            int data;
            char *p;
    }t1, t2;
    // 只需要t1 t2两个变量,后面不需要用结构体名定义其它变量时可以这样操作,但是后面没法定义新的变量
    t1.data;
    t2->p;

    typedef 与 struct结构体

    typedef 给结构体定义 别名

    // typedef 定义struct Node 结构体类型
    typedef struct Node
    {
            int data;
            char *p;
    } t1;
    
    // 此时t1是结构体类型, 类似于int , char
    // typedef给struct Node取的别名t1,
    t1 stu;  // t1是结构体类型,使用前先定义一个变量stu
    stu.a;

      

    注:

      struct data {} t1;  // t1是变量

      typedef struct data {} t1;  // t1是结构体类型

    typedef 与 函数指针

    typedef  char (*Func) (int, int)

    typedef 定义了Func类型, Func类型为指向某种函数的指针,这种函数以char为返回值,int为参数

    用法: 返回类型 (*新类型) (参数表)

    #include <iostream>
    #include <string>
    using namespace std;
    
    int GetMax(int a, int b)
    {
            return a > b ? a : b;
    }
    
    // 两种写法
    typedef int (FuncA) (int, int);
    typedef int (*FuncB) (int, int);
    
    int main()
    {
            FuncA * a = GetMax;
            FuncB b = GetMax; 
    
            int Ta = a(66, 21);
            cout<<Ta<<endl;
    
            int Tb = b(28, 86);
            cout<<Tb<<endl;
            return 0;
    }
    

      

    做一个优秀的程序媛
  • 相关阅读:
    Silverlight2 开发环境 安装程序顺序
    Java——IO流超详细总结
    【慢慢学Android】:2.SharedPreferences对数据的存储
    【慢慢学算法】:求最大公约数
    【慢慢学算法】:求较大素数 筛选法
    【慢慢学算法】:排名
    手把手教你将vim配置成一个C/C++的超级IDE
    【慢慢学算法】:特殊乘法
    【慢慢学算法】:qsort()与sort的用法(收藏)
    【慢慢学算法】:数字阶梯求和
  • 原文地址:https://www.cnblogs.com/oytt/p/13600065.html
Copyright © 2020-2023  润新知