zoukankan      html  css  js  c++  java
  • C语言学习笔记-自定义类型

    1. 类型和变量有啥区别?

    只能对变量赋值、存取和运算,而不能对一个类型赋值、存取和运算。在编译时,对类型是不分配空间的,只对变量分配空间。

    1. 如果指针p指向一个结构体变量stu,以下3种用法等价:

      • stu.成员名(如stu.num);
      • (*p).成员名(如(*p).num);
      • p -> 成员名(如p -> num);
    2. 什么是共用体类型?

    有时想用同一段内存单元存放不同类型的变量。例如,把一个short型变量,一个char型变量,和一个float型变量放在同一个地址开始的内存单元中。以上3个变量在内存中占的字节数不同,但都从同一地址开始存放,也就是使用覆盖技术,后一个数据覆盖了前面的数据。这种使几个不同的变量共享同一段内存的结构,称为“共用体”类型的结构。
    定义共用体类型的一般形式为:

    union 共用体名{
        成员表列
    } 变量表列;
    

    举例来说:

    union Data {
        int a;
        char b;
        float c;
    } data_1, data_2;
    

    我想到的使用场景是:结构体变量的某个成员属性待定,用上union可以避免重新增加一个成员属性或者重新定义一个结构体类型。

    1. 枚举类型,声明枚举类型的一般形式为:
    enum 枚举名 {
        枚举元素列表
    } 变量名列表;
    

    举例来说:

    enum color {
        red, blue, dark
    } my_color, your_color;
    
    1. typedef#define

    #define是在预编译时处理的,它只能作简单的字符串替换,而typedef是在编译阶段处理的

    更多的区别:https://blog.csdn.net/xing1314/article/details/2336269

  • 相关阅读:
    WPF 柱状图显示数据
    WPF 寻找控件模板中的元素
    WPF 寻找数据模板中的元素
    WPF VisualTreeHelper的使用
    WPF依赖项属性不需要包装属性也可以工作
    WPF依赖属性对内存的使用方式
    WPF Binding Path妙用
    WPF Binding Path妙用代码实现
    WPF Binding妙处-既无Path也无Source
    WPF ListView的使用
  • 原文地址:https://www.cnblogs.com/zgglj-com/p/12637520.html
Copyright © 2011-2022 走看看