zoukankan      html  css  js  c++  java
  • 学点 C 语言(29): 数据类型 定义新类型(typedef)


    自定义的类型名一般要大写, 以提示这是自命名的类型.

    1. 把 unsigned long 更名为 UINT:
    #include <stdio.h>
    
    int main(void)
    {
        typedef unsigned long UINT;
    
        UINT num = 1234567890;
        printf("%lu\n", num);
        
        getchar();
        return 0;
    }
    

    2. 给一个结构重命名:
    #include <stdio.h>
    
    int main(void)
    {
        struct Rec {
            char c;
            int  i;
            long d;
        };
    
        typedef struct Rec MYREC;
    
        MYREC r1;
    
        r1.c = 1;
        r1.i = 2;
        r1.d = 3;
        
        printf("%d, %d, %d\n", r1.c, r1.i, r1.d);
        printf("结构大小: %u, %u, %u", sizeof(struct Rec), sizeof r1, sizeof(MYREC));
        
        getchar();
        return 0;
    }
    

    3. 把整数指针定义为: PINT:
    #include <stdio.h>
    
    int main(void)
    {
        typedef int * PINT;
    
        int num = 123;
        PINT p = #
    
        printf("%d, %p\d", *p, p);
        
        getchar();
        return 0;
    }
    

    4. 同时用于结构定义:
    #include <stdio.h>
    
    int main(void)
    {
        struct Rec1 {
            int x,y;
        } r1 = {11, 22};  /* 同时定义了变量 r1 */
    
        typedef struct Rec2 {
            double a,b;
        } REC3;           /* 此时的 REC3 不是变量, 而是新定义的类型*/
    
        REC3 r2 = {1.1, 2.2};
        
        printf("%d, %d\n", sizeof(struct Rec1), sizeof(struct Rec2));
        printf("%d, %d, %d\n", sizeof(REC3), sizeof r1, sizeof r2);
    
        printf("\n%d, %d", r1.x, r1.y);
        printf("\n%g, %g", r2.a, r2.b);
        
        getchar();
        return 0;
    }
    
  • 相关阅读:
    算法第五章作业
    算法第四章作业
    算法第四章上机实践报告
    算法第三章作业——动态规划
    算法第三章上机实践报告
    分治法的思想与体会
    算法第二章上机实践报告
    c++代码规范及《数学之美》读后感
    bugkuctf web部分(前8题)解题报告
    第二次博客作业
  • 原文地址:https://www.cnblogs.com/del/p/1345422.html
Copyright © 2011-2022 走看看