zoukankan      html  css  js  c++  java
  • C语言中链表节点的实现,以及如何实现泛型

    1.C语言中的struct是纯粹的结构体,没有访问权限的概念

    2.C语言中用void* 来实现泛型编程,也是C++类和模板底层实现的基础,就是用void*来实现的

    #include<stdio.h>
    
    //struct LinkNode
    //{
    //    int num;//数据域
    //    struct LinkNode* pnext;//C语言中struct仅仅是结构体,所有成员都是公有的,没有访问权限的概念,且不能省略struct关键字
    //};
    
    struct LinkNode
    {
        void* pnum;
        void* pnext;//用void* 来实现泛型
    };
    
    int main()
    {
        struct LinkNode a;
        int k = 3;
        a.pnum = &k;
        printf("a.num=%d
    ", *((int*)a.pnum));//先将指针转换为需要的类型,再用*取内容
    
        struct LinkNode b;
        double f = 5.25;
        b.pnum = &f;
        b.pnext = &a;
        printf("b.num=%lf
    ", *((double*)b.pnum));
        
    
        system("pause");
        return 0;
    }
  • 相关阅读:
    spring4-2-bean配置-2-属性注入细节
    内存管理tcmalloc
    并发视频,怎么hold住高并发
    struts总结
    最近想玩的一个方向
    虚拟化技术漫谈
    陈硕的博客
    木铎
    安全编程资源-苹果
    POOL
  • 原文地址:https://www.cnblogs.com/ttss/p/4148924.html
Copyright © 2011-2022 走看看