欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言 typedef 的三种应用场景

程序员文章站 2024-03-23 14:03:10
...

笔记内容基于以下学习资料整理: 黑马最新c、c++全栈培训第24期高清无密(全)\02c语言提高\02-c提高01day\C提高 day01\课堂视频\05 typedef用法_.mp4

typedef的三种应用场景:

typedef struct Person{ }myPerson;
typedef char * PCHAR;
typedef long long myType;

typedef struct Person{ }myPerson;

给结构体struct定义别名,避免每次使用时都输入struct;

typedef char * PCHAR;

如果需要同时定义两个指向某类型的指针,一种可能的错误写法如下:

char * p1, p2;

错误原因在于,上述定义的变量p1是指向char 的指针,而 p2只是一个char类型。
正确的写法如下:

char *p1,*p2;

然而,如果不想多次输入 * 符号,则可以使用

typedef char * PCHAR
PCHAR p1,p2;

【补充内容】:C++ 输出变量类型

cout<<typeid(p1).name()<<endl;

typedef long long myType

​不同编译器支持的变量类型可能不一样,比如有的可能不支持 long long,
这会破坏代码的可移植性;
如果代码中要用到很多long long,而迁移后的编译器不支持long long,那么可以将

typedef long long myType;

修改为

typedef int myType;

从而避免大批量的将代码中的 long long 修改为 int

相关标签: typedef