作家
登录

带你了解数据结构的定义和简介

作者: 来源: 2017-12-12 13:54:16 阅读 我要评论

struct Student s = {12,”xiaoyou”,1.73,”xiaozhang”};  
  • // 直接应用  
  • printf(” age = %d \n name = %s \n height = %.2f \n”,s.age,s.name,s.height);  
  • s.age = 21;  
  • s.name = “xiaozhu”;  
  • strcpy(s.name2, “zhangwangdsd”); // 字符串拷贝  
  • s.height = 1.70;  
  • printf(” age = %d \n name = %s \n height = %.2f \n %s \n”,s.age,s.name,s.height,s.name2);  
  • // 以指针的方法应用  
  • struct Student *pst = &ss;  
  • pst -> name = “my new name”;  
  • printf(” name = %s\n”,pst->name);  
  • printf(” name = %s\n”,(*pst)->name);  
  • // pst -> name 等价于 (*pst).name ,  
  • // 而(*pst).name 又等价于 ss.name  
  • // 所以 pst -> name 等价于 ss.name  
  • return 0;  
  • 留意事项

    通俗构造体变量和构造体指针变量作为函数传参的问题

    动态内存分派和释放

    日常平凡直接创建数组的写法都是静态创建,创建完毕之后在全部法度榜样的运行过程中,会固定占用对应的内存,不仅会造成内存空间浪费,还无法动态添加元素,所以局限性很大年夜,而法度榜样中我们为了避免这种情况,应当应用动态的方法创建和烧毁数组。

    在计算机体系中,CPU 可以直接操作内存,关于 CPU 对内存的操作与控制道理可以简单懂得如下图

    • 地址线 : 肯定操作哪个地址单位
    • 控制线 : 控制该数据单位的读写属性
    • 数据线 : 传输 CPU 和内存之间的数据
    1. // 静态创建数组  
    2. int a[5] = {1,2,3,4,5}; 

    动态构造一维数组

    动态结垢荷琐 int 型的一维数组。

    1. int p = (int )malloc(int length); 

    void * malloc(size_t __size) 函数,只有一个 int 类型的形参,表示请求体系分派的字节数

    我们若何把实际中大年夜量而复杂的问题以特定的数据类型和特定的存储构造保存到主存储器(内存)中,以及在此基本上为实现某个功能(如元素的CURD、排序等)而履行的响应操作,这个响应的操作也叫算法。

    malloc 函数的功能是请求体系 length 个字节的内存空间,如不雅请求完成则返回的是第一个字节的地址,

    如不雅请求不成功,则返回NULL

    malloc 函数能且只能返回第一个字节的地址,所以我们须要把没有实际意义的第一个字节地址(干地址)转化为一个有实际意义的地址,

    所以 malloc 前面必须加(数据类型 *),表示把这个无意义的地址转化为对应类型的地址

    实例:

    1. int p = (int )malloc(50); 

        推荐阅读

        央妈出手 银行业统一APP“云闪付”发布:管理所有银行账户

      开辟者大年夜赛路演 | 12月16日,技巧立异,北京不见不散日前,中国银联联袂贸易银行、付出机构等家当各方合营宣布银行业同一APP“云闪付”。 大年夜家经由过程这一APP即可绑定和治>>>详细阅读


      本文标题:带你了解数据结构的定义和简介

      地址:http://www.17bianji.com/lsqh/39702.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)