C语言 typedef 的三种应用场景

匿名 (未验证) 提交于 2019-12-03 00:03:02

笔记内容基于以下学习资料整理: 黑马最新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,那么可以将

typedef long long myType; 

修改为

typedef int myType; 

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!