C零散知识点汇总之typedef关键字

简介: C零散知识点汇总之typedef关键字

C零散知识点汇总之typedef关键字


typedef -----> type rename而不是type define。

typedef的真正含义是给一个已经存在的数据类型(是数据类型而不是变量)取一个别名,而非定义一个新的数据类型。

typedef和#define的区别

1、功能不同:typedef是一种在计算机编程语言中用来声明自定义数据类型,配合各种原有数据类型来达到简化编程的目的的类型定义关键字。 #define是预处理指令。

2、执行时间不同:typedef在编译阶段有效,由于是在编译阶段,因此typedef有类型检查的功能。#define则是宏定义,发生在预处理阶段,也就是编译之前,它只进行简单而机械的字符串替换,而不进行任何检查。

3、作用域不同:#define没有作用域的限制,只要是之前预定义过的宏,在以后的程序中都可以使用。而typedef有自己的作用域。

4、修饰指针类型时不同:

Typedef int * pint;
#define PINT int *  
Const pint p;    //p不可更改,p指向的内容可以更改,相当于 int * const p;  
Const PINT p;    //p可以更改,p指向的内容不能更改,相当于 const int *p;或 int const *p;  
pint s1, s2;     //s1和s2都是int型指针  
PINT s3, s4;     //相当于int * s3,s4;只有一个是指针。
相关文章
|
8月前
|
缓存 Java
5个案例和流程图让你从0到1搞懂volatile关键字
5个案例和流程图让你从0到1搞懂volatile关键字
|
8月前
|
C语言
指针数组以及利用函数指针来实现简易计算器及typedef关键字(指针终篇)
指针数组以及利用函数指针来实现简易计算器及typedef关键字(指针终篇)
|
存储 编译器 C语言
【C语言进阶篇】看完这篇结构体文章,我向数据结构又进了一大步!(结构体进阶详解)(上)
【C语言进阶篇】看完这篇结构体文章,我向数据结构又进了一大步!(结构体进阶详解)
126 0
|
C语言
【C语言进阶篇】看完这篇结构体文章,我向数据结构又进了一大步!(结构体进阶详解)(下)
【C语言进阶篇】看完这篇结构体文章,我向数据结构又进了一大步!(结构体进阶详解)(下)
300 0
|
C语言
【C语言】规范掌握C语言函数|数组名的妙用|指针快速入门|综合使用小案例
【C语言】规范掌握C语言函数|数组名的妙用|指针快速入门|综合使用小案例
76 0
|
算法 C语言 C++
你是真的“C”——详解结构体知识点
前言🙌 什么是结构体?🙌 1. 结构体的声明🙌 1.1 结构的基础知识 1.2 结构的声明 1.3 结构成员的类型 1.4 结构体变量的定义和初始化 2. 结构体成员的访问🙌 3结构体传参🙌 总结撒花💞
89 0
AcWing语法基础课笔记 第七章 类、结构体、指针、引用
类可以将变量、数组和函数完美地打包在一起。 ——闫学灿
114 0
|
编译器 C语言
C零散知识点汇总之struct关键字
C零散知识点汇总之struct关键字