基础C语言之Typedef和struct的结合使用

本文深入探讨了C语言中 Typedef 和 Struct 的结合使用,讲解了如何通过 Typedef 为 struct 定义新的类型名称,以提高代码的可读性和可维护性。通过实例展示了如何创建自定义数据类型,并在实际编程中有效利用这些类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
 * c语言typedef关键字 
 * typedef 作为c语言中常见的关键字,
 * 用法有多种,经常用来改变或者说给一种类型另取一个名字
 */
#include <cstdio>
int main() {
    //先理清一个概念
    int num;
    //上面这个最简单的变量声明中,应该这样来看
    //int是类型
    //num是变量
    //即类型:用来描述这个变量的数据类型
    //变量:用来储存具体数据


    typedef int yuan; //yuan RMB的单位,这里直接将int整型改了一名字叫yuan
    yuan price=10;  //让price价格为10,意思上就是说十元
    printf("%d",price);//注意输出的时候其实还是用的%d,当然c++里的cout其实搭配typedef更好就不用%d了

    typedef int kg,g;//可以同时给int类型取两个名字分别是重量单位kg和g
    g w1=10; 
    kg w2=100;
    printf("%d,%d",w1,w2);//同样的输出

    typedef int *z;
    /**
     * 上面这个语句中有个*号
     * 其实在c语言中,可以把*号和前边的int合在一起看作该类型的指针
     * 例如单语句int *x; 代表声明了一个整型指针x
     * 而typedef int *z则代表z是int *的别名,
     * 即若此时我声明 z x; 则x即为一个整型指针,即int *x;
     */

    typedef int *a,b,*c;//同样这样写也合法,其中a为int * b为int c和a一样都是int *
    //暂且把上边这个例子叫做例子四

    struct N{
        int x;
    }N1,N2,N3,NArray[10];
    /*
        struct结构体关键字用来声明一个结构体类型
        若在结构体后边有字符串例如上边这个例子
        则代表N1,N2,N3是类型为该结构体的一个变量
        NArray为一个元素类型为该结构体即struct N类型的一个数组
        这里实际上应该把struct N类比成int 注意struct N这两个单词才能类比成int
        单独的一个N严格来说并不是一个类型,
        这个例子我们记为例子五
     */

    typedef struct Node
    {
        int x;
        /*x为成员变量*/
    }Node,*NodeList;
    /*
    *而上边这个例子的结构体前有个typedef
    *typedef就是给类型另取名字用的
    *上个例子说 struct Node是一个类型,既然是类型,就可以用typedef重新取名字
    *所以这里的最后的Node和*NodeList实际上和上边例子四的用法一致,而不是和例子五相同
    *即Node是struct Node这个类型的一个别名,而NodeList就是 struct Node *这个指针类型的一个别名
    *同样的 Node * 也是struct Node *类型的别名,即Node *这个类型和NodeList这个类型相同
     */
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值