有关typedef定义新的类型名的作用

2024-04-18 08:18

本文主要是介绍有关typedef定义新的类型名的作用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一般形式:typedef已有类型新类型名;
一旦重命名类型,就可以以新类型名来描述数据。习惯上新类型名用大写字母表示。
例如:
(1)typedef int integer;/*重命名整型*/
integer i,j;
(2)typedef int COUNT;/*命名一计数类型COUNT*/
COUNT n1,n2;
(3)typedef int NUM[100];/*命名一整型数组类型NUM*/
NUM n:
(4)typedef char sTRING[81];/*命名一字符串类型STRING*/
STRING str1,str2;
(5)typede{struct
{int day;
int month;
int year;
}DATE;/*命名一结构体类型DATE*/
DATE datel,date2;


重命名类型的作用
重命名类型的作用如下:
(1)有利于加强数据描述的针对性,增加程序的可读性。如用上面重命名类型coUNT来定义计数器变量,一目了然。
(2)有利于程序的通用和移植。C程序设计有时可能会依赖于具体的计算机。例如,整型数据在某种机器上可能占2字节内存单元,在另外一种机器上又可能占4字节的内存单元,若将程序从2字节的机器移植到4字节的机器,则要将所有int说明改成long说明,修改的部分可能较多,程序的移植性较差。
在整型数占2字节的机器上,若用typedef重命名类型:typedef int integer;,然后可用in‘teger定义变量。若要将程序移植到整型数占4字节的机器上,只要用long代替原来的int即可,这时可再用typedef重命名类型:typedef long integer;,此时程序中用integer定义的变量都为long型,其它部分不变,方便移植。
(3)有利于减少程序书写的工作量。若程序中有若干处要用到同一种复杂数据类型,书写起来比较复杂,通过重命名类型,可减少重复劳动。


几点说明
(1)用typedef只能对已有类型增加一个名字,而不能自己去创造一个新的类型。
(2)用typedef可以对各种已有类型增加新的类型名,但不能用来定义变量。
(3)重命名类型,可以将数组类型与数组变量分离开来。
(4)重命名类型与编译预处理不同,是在编译时处理,实际上也并不是作简单的字符串替换。
(5)常将一些常用的重命名类型单独放一文件中,需要时用#include指令将它们包含至程序中

这篇关于有关typedef定义新的类型名的作用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/914239

相关文章

python常用的正则表达式及作用

《python常用的正则表达式及作用》正则表达式是处理字符串的强大工具,Python通过re模块提供正则表达式支持,本文给大家介绍python常用的正则表达式及作用详解,感兴趣的朋友跟随小编一起看看吧... 目录python常用正则表达式及作用基本匹配模式常用正则表达式示例常用量词边界匹配分组和捕获常用re

Java 继承和多态的作用及好处

《Java继承和多态的作用及好处》文章讲解Java继承与多态的概念、语法及应用,继承通过extends复用父类成员,减少冗余;多态实现方法重写与向上转型,提升灵活性与代码复用性,动态绑定降低圈复杂度... 目录1. 继承1.1 什么是继承1.2 继承的作用和好处1.3 继承的语法1.4 子类访问父类里面的成

SpringBoot 中 CommandLineRunner的作用示例详解

《SpringBoot中CommandLineRunner的作用示例详解》SpringBoot提供的一种简单的实现方案就是添加一个model并实现CommandLineRunner接口,实现功能的... 目录1、CommandLineRunnerSpringBoot中CommandLineRunner的作用

$在R语言中的作用示例小结

《$在R语言中的作用示例小结》在R语言中,$是一个非常重要的操作符,主要用于访问对象的成员或组件,它的用途非常广泛,不仅限于数据框(dataframe),还可以用于列表(list)、环境(enviro... 目录1. 访问数据框(data frame)中的列2. 访问列表(list)中的元素3. 访问jav

Kotlin运算符重载函数及作用场景

《Kotlin运算符重载函数及作用场景》在Kotlin里,运算符重载函数允许为自定义类型重新定义现有的运算符(如+-…)行为,从而让自定义类型能像内置类型那样使用运算符,本文给大家介绍Kotlin运算... 目录基本语法作用场景类对象数据类型接口注意事项在 Kotlin 里,运算符重载函数允许为自定义类型重

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

Pydantic中Optional 和Union类型的使用

《Pydantic中Optional和Union类型的使用》本文主要介绍了Pydantic中Optional和Union类型的使用,这两者在处理可选字段和多类型字段时尤为重要,文中通过示例代码介绍的... 目录简介Optional 类型Union 类型Optional 和 Union 的组合总结简介Pyd

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、