C学习-函数:类型定义符 typedef
typedef 定义
typedef 用于为已有的数据类型定义别名,而不是定义新的数据类型。
例如:
typedef int INTEGER; typedef unsigned int UINT;
分别为int、unsigned int定义别名INTEGER和UINT。
typedef 作用 有两点
1,定义新名字,专用于某种类型的变量定义或说明,以增加程序的可读性。
如:定义COUNT类型,专用于计数
typedef int COUNT; COUNT i;
2、用于简化数据类型的书写
typedef struct { int a; double b; } emp_i, *pemp_i; //typedef 了两个新的数据类型(结构体),其中一个是指针方式的名字 int main(void) { char i = 'y'; emp_i a1; //emp_i 声明的a1是一个实体,声明了就已经有存储空间了 pemp_i b1 = &a1; //pemp_i 声明的b1是一个指针(但这里不用加*号,因为pemp_i已经被指定为指针),它可以指向一个struct a 的实体。 a1.a++; //a1的元素访问方式 实体方式 b1->a++; //b1的访问方式 指针方式 }
emp_i 和 *pemp_i 对比
占用空间不同:
用结构体变量( emp_i )去定义声明的变量是一个真正的变量,他在内存中分配有自己的存储空间;
而是用指针(*pemp_i )去形式定义的变量是一个指针,使用的时候给他赋予一个结构体变量的地址。
访问方式不同:
结构体变量( emp_i )直接访问使用实体方式,用a1.a++;方法;
结构体指针变量(*pemp_i )使用指针方式,用 b1->a++;方法
0顶
0 踩
共 0 条评论