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