当前位置: 首页 > news >正文

免费网站制作模板分销商城平台开发

免费网站制作模板,分销商城平台开发,河南推广网站的公司,地方网站做哪些内容欢迎访问个人网络日志🌹🌹知行空间🌹🌹 文章目录1.基础介绍2.typedef 的常用的几种情况3.使用typedef可能出现的问题参考资料1.基础介绍 typedef是C/C语言中保留的关键字,用来定义一种数据类型的别名。 typedef并没有…

欢迎访问个人网络日志🌹🌹知行空间🌹🌹


文章目录

    • 1.基础介绍
    • 2.typedef 的常用的几种情况
    • 3.使用typedef可能出现的问题
    • 参考资料

1.基础介绍

typedef是C/C++语言中保留的关键字,用来定义一种数据类型的别名。

typedef并没有创建新的类型,只是指定了一个类型的别名而已。

typedef定义的类型的作用域只在该语句的作用域之内, 也就是说如果typedef定义在一个函数体内,那么它的作用域就是这个函数。如果typedef定义在一个命名空间中,则其作用域只在当前命名空间中。

使用 typedef 关键字可以用来定义自己习惯的数据类型名称,来替代系统默认的基本类型名称、数组类型名称、指针类型名称与用户自定义的结构型名称、共用型名称、枚举型名称等。

2.typedef 的常用的几种情况

  • 给基本数据类型定义别名
// 1
typedef doule REAL;
// 2
typedef float REAL;

定义数据类型REAL,在不同平台上通用的代码,如需改动,只需要修改typedef语句即可。

  • 为复杂类型定义别名,简化代码
typedef int *(*pFun)(int, int); // 定义函数指针int *add(int x, int y)
{int *p = new int;*p = x + y;return p;
}pFun fp[1]; // 定义函数指针数组
fp[0] = add;
std::cout << "r " << *fp[0](1,2) << std::endl;
  • typedef 与struct/enum/union等自定义数据类型共同使用

C语言中,对标签标识符强制了自己单独的命名空间,如自定义结构体时

struct Point {int x;int y;
};// 使用
struct Point p;

因在C语言中,Point定义在了struct命名空间中,使用时必须写成struct Point p,比较麻烦, 因此通常使用typedef给其起别名。

typedef struct Point_ {int x;int y;Point_(int a, int b) : x(a), y(b) {}} Point; 
// 使用
Point p;

在C++中已经不是必须的了struct定义的类型,可直接通过类型名使用。

3.使用typedef可能出现的问题

  • 1.歧义
typedef char* PCHAR;
int strcmp(const PCHAR,const PCHAR);

在这里,const PCHARconst char*不同,const PCHAR中指针是常量,const char*中,char是常量

// constant pointer to constant char
const char * const
// constant pointer to char
char * const
// pointer to constant char
const char *
  • 2.重复的存储类关键字

虽然 typedef 并不真正影响对象的存储特性,但在语法上它还是一个存储类的关键字,就像 auto、extern、static 和 register 等关键字一样。因此,像下面这种声明方式是不可行的:

typedef static int INT_STATIC;

上面,statictypedef关键字重复了。


欢迎访问个人网络日志🌹🌹知行空间🌹🌹


参考资料

  • 1.https://stackoverflow.com/questions/612328/difference-between-struct-and-typedef-struct-in-c
  • 2.https://www.tutorialspoint.com/difference-between-const-char-p-char-const-p-and-const-char-const-p-in-c#:~:text=char*%20const%20says%20that%20the,cannot%20point%20to%20another%20char.
  • 3.http://c.biancheng.net/view/298.html
http://www.yayakq.cn/news/773041/

相关文章:

  • 做购物车网站多少钱1688淘宝货源一件代发
  • 网站公告栏模板网站怎么推广效果最好
  • 广安建设网站一个人做网站好做吗
  • 网站弹窗公告代码汕头网站外包
  • 提供网站制作公司哪家专业网站建设颜色代码
  • 官方门户网站j建设的必要性开设计公司客源哪里找
  • 厦门网站建站公司php网站的优势
  • cloudflare做侵权网站免费空间网
  • 跨境电商知名网站建设长沙网站建设价格
  • 深圳最简单的网站建设深圳市建设行业门户网站
  • 网站制作技术使用说明关于网站建设的策划案
  • wordpress建m域名网站广州最好网站建设公司
  • 网站浏览器兼容性问题吗网络信息
  • 西安做网站的网站超级推广
  • 点击网站首页域名又添加一个网站开发常用的语言
  • 做网站系统用什么语言建网站培训学校
  • 网站建设一般需要多久机构ui设计培训
  • 网站要怎么盈利昆明百度关键词优化
  • 怎么做菠菜网站做网站线上线下价格混乱
  • 南宁公司官网建站网络营销的主要内容是什么
  • 二手网站开发制作网页时用的最多的图像格式
  • 12306网站开发公司公司网站空间怎么续费
  • 山西省建设厅招标网站做网站设计的公司排名
  • 有哪些做分析图用的地图网站房地产新闻联播
  • 游艇网站建设方案花都网站建设信科网络
  • 瑞金市网站建设河源市建设网站
  • 网站备案拍照点企业案例网站生成
  • 天行健君子以自强不息网站建设微信注册网站
  • 随机网站生成器手表网站哪个最好知乎
  • 亚泰国际建设股份有限公司网站精准扶贫网站建设目的