东莞南城网站设计,做外贸都做哪些网站好免费下载,手表网站app推荐,网站 后台 开发C 语言 typedef 关键字
C 语言提供了 typedef 关键字#xff0c;您可以使用它来为类型取一个新的有意义的名字。也就是用于重新定义已经存在的变量的名称。
typedef 的语法
typedef existing_name alias_name在以上语法中#xff0c;“ **existing_name”…C 语言 typedef 关键字
C 语言提供了 typedef 关键字您可以使用它来为类型取一个新的有意义的名字。也就是用于重新定义已经存在的变量的名称。
typedef 的语法
typedef existing_name alias_name在以上语法中“ **existing_name”是已经存在的变量的名称而“ alias_name”**是给现有变量赋予的另一个名称。
例如假设我们要创建一个类型为unsigned int的变量那么如果我们要声明此类型的多个变量那么它将变得很繁琐。为了克服这个问题我们使用typedef关键字。
示例
typedef unsigned int unit;在上面的语句中我们使用typedef关键字声明了unsigned int类型的unit变量。
现在我们可以通过编写以下语句来创建unsigned int类型的变量
unit a, b;而不是写
unsigned int a, b;您应该已经观察到typedef关键字通过为已经存在的变量提供代替名称来提供简化的快捷方式。当我们处理长数据类型尤其是结构声明时此关键字很有用。
让我们通过一个简单的实例来理解。
示例
#include stdio.h
int main()
{typedef unsigned int unit;unit i,j;i10;j20;printf(i值为 :%d,i);printf(\nj值为 :%d,j);return 0;
}输出结果
i值为 :10
j值为 :20对结构体使用typedef
以下为结构声明
struct student
{
char name[20];
int age;
};
struct student s1;在上面的结构声明中我们通过编写以下语句创建了学生类型的变量
struct student s1;上面的语句显示创建了变量s1但是该语句相当长。为了避免这么大的声明我们使用typedef关键字创建类型为student的变量。
示例
struct student
{
char name[20];
int age;
};
typedef struct student stud;
stud s1, s2;在上面的声明中我们声明了struct student类型的变量stud。现在我们可以在程序中使用stud变量来创建struct student类型的变量。
上面的typedef可以写成
示例
typedef struct student
{char name[20];int age;
} stud;
stud s1,s2;从上面的声明中我们得出结论typedef关键字减少了代码的长度和数据类型的复杂性。它还有助于理解程序。
让我们看另一个示例在其中使用typedef结构声明。
示例
#include stdio.h
typedef struct student
{char name[20];int age;
}stud;
int main()
{stud s1;printf(输入学生s1的详细信息: );printf(\n输入学生姓名:);scanf(%s, s1.name);printf(\n输入学生年龄:);scanf(%d, s1.age);printf(\n 学生姓名 : %s, s1.name);printf(\n 输入学生年龄 : %d, s1.age);return 0;
}输出结果
输入学生s1的详细信息:
输入学生姓名: Peter
输入学生年龄: 28
学生姓名 : Peter
学生年龄 : 28typedef与指针一起使用
我们也可以借助typedef为指针变量提供另一个名称或别名。
例如我们通常声明一个指针如下所示
int* ptr;我们可以重命名上述指针变量如下所示
typedef int* ptr;在上面的语句中我们声明了**int ***类型的变量。现在我们只需使用’ **ptr’变量即可创建int ***类型的变量如以下语句所示
ptr p1, p2 ;在上面的语句中p1和p2是’ **ptr’**类型的变量。